home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
001
/
qmsstdoc.arc
/
QMODEM.DOC
Wrap
Text File
|
1987-09-20
|
311KB
|
8,925 lines
Qmodem Operations Manual
_____________________________________________________________________________
Version 3.1
The Forbin Project, Inc.
Post Office Box 702
Cedar Falls, IA 50613
PCBoard BBS (319) 233-6157
Qmodem Copyright π 1984,1985,1986,1987
All rights are reserved by the Forbin Project, Inc.
ii Qmodem Operations Manual
PREFACE
This document was revised for Qmodem 3.1.
Qmodemσ software copyright π 1984,85,86,87 The Forbin Project, Inc. All rights
reserved.
This document copyright π 1987 The Forbin Project, Inc. All rights reserved.
Qmodem is a Trademark of The Forbin Project Inc.
Any specific hardware/software names used in this document are trademarks of
specific manufacturers.
License Information iii
LICENSE
Qmodem is not, nor has ever been Public Domain. Qmodem is not free either.
Qmodem is copyright π 1984,1985,1986,1987 by The Forbin Project, Inc.
Non-registered users are granted a limited license to use Qmodem to see if it is
appropriate for their needs. The usage of Qmodem, except for this limited
purpose, requires registering the copy(s). Use of non-registered copied of
Qmodem outside of the limited license is strictly prohibited.
No one may modify Qmodem for any reason, in any way, including but not limited
to, de-compiling, disassembling, or reverse engineering the program. The
opening screen must never be modified by any means.
You are granted permission to copy Qmodem only for the trial usage of others
subject to the above restrictions, and the following:
Qmodem must be copied in unmodified form, complete with the file containing
this license information.
The full Qmodem documentation must be included.
No fee, charge, or remuneration (money) may be accepted or requested.
Qmodem may not be distributed with any other product, software or hardware.
Sysops (Bulletin Board System Operators) may make Qmodem available for
downloading by their users only if the above conditions are met. If there is a
time limit problem for the users because of the size, then the documentation
must be bundled with the QMODEM.COM file to insure that the user gets it.
Distributors of Public Domain and/or User Supported software may distribute
Qmodem subject to the above conditions only after obtaining written permission.
This condition supersedes any and all previous agreements.
Refer to the Ordering section for more information on registration, corporate
site-licensing and similar topics.
iv Qmodem Operations Manual
ORDERING INFORMATION
When you register your copy of Qmodem, you are granted a license to use the
program as often as you wish. There are several advantages to registering,
besides having a clear conscience.
1. The Forbin Project, Inc. has 5 Bulletin Board Systems (BBS) in house
for registered users. You will receive 1 year of support at no charge on
these BBS's. After the first year, you can renew your subscription to the
BBS which also includes any updates to Qmodem during the year.
2. Voice phone support is another big advantage! No problem is too big
or too small for us to tackle. But you must be a registered user to get
this kind of support.
3. We run a "Round Table" (special interest group) on the General
Electric GEnie system. Now we are a local phone call away from 99% of you!
4. You will be notified, both through the mail and on the BBS, when a
significant enhancement has been made to Qmodem.
There are two ways you can register.
1. By sending in a completed Registration form and a check for $30. We
will assume that you already have the program and documentation from
another source. We do not provide diskettes or manuals for the $30
registration. For an additional $10, we will send you the latest version
of Qmodem, documentation, and utilities on diskette.
2. We also accept phone in orders for Visa and Mastercard. Call us
during normal business hours at (319) 232-4516.
If you are unsure and wish to get an evaluation diskette, you can send $10 and
receive the latest version of Qmodem, documentation, and utilities. You will
not be a registered user with all the benefits. You can also send a self-
addressed floppy diskette mailer and disk with $10 to receive a copy.
If you want to receive Qmodem on the new 3.5 inch diskette media, add an
additional $10 for each diskette ordered.
Please use the following order form when placing an order.
. . . .
Non U.S. residents, please send checks or money orders drawn on U.S. Funds. We
will accept non U.S. currency, but you must include an additional $10 to cover
exchange handling. VISA or MasterCard is also acceptable.
Ordering Information v
INVOICE # 87-270945
Remit To: The Forbin Project, Inc.
P.O. Box 702
Cedar Falls, IA 50613
Qty. Description Amount
____ Qmodem Evaluation Diskette (current version) $5.00 ea ______
(You supply the disk, no registration)
____ Qmodem Evaluation Diskette (current version) $10.00 ea ______
(Complete disk and manual, no registration)
____ Qmodem Registration (single user) $30.00 ea ______
(Does not include a new diskette)
____ Qmodem Registration & New Disk $40.00 ea ______
(Registration with program and manual on disk)
____ Qmodem Registration, Disk, and Printed Manual $50.00 ea ______
(Registration with program and manual)
Less Discount ______
Subtotal ______
(Iowa residents please add 4% sales tax Tax ______
if you are receiving a diskette)
Total ______
Payment by: [ ] Check [ ] MC [ ] Visa [ ] PO # ________________
Name: _____________________________________________________________
Company: __________________________________________________________________
Address: __________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Work Phone: (____) _____________ Home Phone: (____) _____________
Card #: __________________________ Exp. Date: _____________________
Signature of Cardholder: _____________________________________________
vi Qmodem Operations Manual
SITE LICENSE
If you plan on using Qmodem in a corporate, government, or business,
registration in not optional and the 30 day limited license is enforced.
Quantity discounts are available under this Site License agreement.
One MASTER copy of Qmodem and the documentation will be supplied on disk. The
site is responsible for printing the documentation and copying the disks for
distribution. Backups of the MASTER do not count toward the total copies of the
license.
With all site licenses, the site will supply one contact person with which all
correspondence will be made. If a problem does come up, the contact person will
call and make arrangements to get a fix for the glitch. Updates to Qmodem will
be forwarded to the contact person. When filling out the order form, use the
contact persons name to save confusion at a later date.
Following is the current site license discount rates:
Total copies Discount
1 - 10 0%
11 - 20 5%
21 - 30 10%
31 - 40 15%
41 - 50 20%
51 - 100 25%
101 - 200 30%
201 - 300 35%
301 - 500 40%
501+ 50%
NOTICE:
All prices and discounts are subject to change without notice. Also, discounts
are not cumulative; they apply to separate orders only.
Site License vii
WARRANTY
The Forbin Project, Inc. makes no warranty of any kind, express or implied,
including without limitation, any warranties of merchantability and/or fitness
for a particular purpose. The Forbin Project, Inc. shall not be liable for any
damages, whether direct, indirect, special or consequential arising from a
failure of this program to operate in the manner desired by the user. The
Forbin Project, Inc. shall not be liable for any damage to data or property
which may be caused directly of indirectly by the use of this program.
IN NO EVENT WILL THE FORBIN PROJECT, INC. BE LIABLE TO YOU FOR ANY DAMAGES,
INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE PROGRAM, OR FOR ANY
CLAIM BY ANY OTHER PARTY.
viii Qmodem Operations Manual
T A B L E O F C O N T E N T S
Preface..................................................iii
License
Limited Single User License...........................iv
Giving a copy to a friend.............................iv
Sysops - what you need to know........................iv
Distributors of "PD" Software - Read this.............iv
Ordering Information
Registration
Registration only (no diskette)....................v
Registration (receiving a diskette)................v
Getting a 3.5 inch diskette........................v
Getting a trial diskette (no registration).........v
Site Licensing.......................................vii
How to get a discount............................vii
Warranty................................................viii
Definitions................................................6
System Requirements........................................8
Operating Environment
Multi-Tasking Systems..................................8
Other Background Software..............................8
Back up your diskettes!....................................9
Floppy Disk Installation...............................9
Hard Disk Installation.................................9
Qinstall
What is Qinstall?......................................9
Fields and Cursor Control.............................10
Saving and Aborting changes...........................10
Creating the QMODEM.CNF file..........................11
Menus in Qinstall
Main Menu.........................................11
Cosmetics Sub Menu............................12
Color Setup Screen........................12
Window Placement Screen...................13
Hardware Sub Menu.............................15
Modem Initialization and Timing...........15
Modem Dial and Redial Parameters..........18
Communications Port Addressing............21
File Directory Menu...........................22
File Directory Setup #1...................23
File Directory Setup #2...................24
Additional Transfer Protocols.............25
Adding a new Protocol.................26
Deleting a Protocol...................28
1
RunTime Setup Menu............................28
Misc. Parameter Setup #1..................28
Memory Allocation.....................30
Misc. Parameter Setup #2..................31
Saving your Setup.............................32
Aborting the changes..........................32
Starting Qmodem...........................................33
The Status Line.......................................35
The Home Menu.........................................37
Command Line Parameters...............................38
Qmodem Keyboard Commands..................................39
Strip/Replace Table (Alt-A).........................39
Changing an incoming character....................39
Changing the High-Bits............................40
Bells and Beeps Toggle (Alt-B)......................41
Clearing the screen (Alt-C).........................41
Dialing (Alt-D).....................................42
The "quick entry" prompt..........................42
Clearing an entry.............................44
Dialing a number..............................44
Dialing more than one number..................45
How to use Prefixes...........................46
Manual Dial mode..............................48
Other info in the Phone Book..................48
Paging through the Phone Book.................49
Revising an entry.............................49
Loading another Phone Book....................50
Exiting the ALT-D window......................51
Changing the Duplex (Alt-E).........................52
Script Files (Alt-F)
What is a Script?.................................52
Terminal Emulation (Alt-G)..........................53
Hangup the phone (Alt-H)............................54
Information screen (Alt-I)..........................54
Function Key Macros (Alt-J).........................55
Changing a Key Macro..............................56
A Script Macro....................................56
A LOG Macro.......................................56
Using the Password Macro..........................57
Loading a new KEY file............................57
Changing the active COM port (Alt-K)................57
Changing the Logged Drive (Alt-L)...................58
Music Toggle (Alt-M)................................58
Invoking Qinstall from Qmodem (Alt-N)...............59
Changing Subdirectories (Alt-O).....................59
Setting the Communications Parameters (Alt-P).......60
The Dial/Redial Screen (Alt-Q)......................62
Dialing from ALT-D................................64
Primary Commands..................................64
Editing the Redial Queue..........................64
Deleting a number from the Queue..............65
Starting without a previous Dial..................65
2 Qmodem Operations Manual
Status messages...................................65
Parameters passed to the Linked Script............66
DOS Shell (Alt-R)...................................67
Split Screen Mode (Alt-S)...........................67
Screen Dump (Alt-T).................................68
Scroll Back Toggle (Alt-U)..........................68
View a File (Alt-V).................................69
Disk Directory (Alt-W)..............................70
Exiting Qmodem (Alt-X)..............................71
Delete a File (Alt-Y)...............................73
Xon/Xoff Toggle (Alt-Z).............................73
Uploading a File (PgUp)
Protocols available...............................75
ASCII protocol....................................77
Xmodem............................................78
Xmodem CRC........................................79
Xmodem Relaxed....................................79
Imodem............................................79
Ymodem............................................80
Ymodem-G..........................................80
External protocols................................80
Downloading a File (PgDn)...........................80
The Download Window...............................81
ASCII.............................................81
Xmodem, Ymodem, Imodem............................82
Errors detected...............................82
Call Waiting?.....................................83
Scroll Back (UpArrow)...............................83
Capture to Disk (Ctrl-Home).........................84
Sending a BREAK signal (Ctrl-End)...................86
Copying to the Printer (Ctrl-PrtSc).................86
Adding Linefeeds to Carriage Returns (Shift-Tab)....86
Backspace <-> DEL Toggle (Alt-1)....................86
EGA Screen Modes (Alt-2 thru Alt-6).................87
Hi Bit Stripping Toggle (Alt-8).....................87
Logging activity to a File (Alt-0)..................87
Scripting - The Built-in Language
Different types of Scripts............................91
Linking a Script to a Phone Book entry................91
Phone numbers and parameters in Scripts...............92
How to create and Name a Script
Naming conventions................................92
Using an Editor...................................92
Running the Script....................................93
Using ALT-F to run the Script.....................93
Using the F-Keys..................................93
Stopping a Script.....................................93
Executing Linked Scripts..............................94
Special characters in Scripts.........................94
Basic Scripting Commands..............................95
Commands..........................................99
ASSIGN........................................99
BEEP..........................................99
3
BOX..........................................100
BREAK........................................100
CAPTURE......................................100
CHDIR........................................101
CLRSCR.......................................101
COLORBG......................................101
COLORFG......................................102
DEBUG........................................102
DECR.........................................102
DELAY........................................103
DIAL.........................................103
DISPLAY......................................104
DISPLAYLN....................................104
DOS..........................................104
DOWNLD.......................................105
DOWNLOAD.....................................105
DRIVE........................................105
EGA..........................................106
EXIST........................................106
EXIT.........................................107
FKEY.........................................107
GET..........................................107
GETR.........................................107
GETN.........................................108
GETNR........................................108
GETSCR.......................................108
GETX.........................................108
GOSUB........................................109
GOTO.........................................109
GOTOXY.......................................109
GRAPHICS.....................................110
HANGUP.......................................110
IF...........................................110
INCR.........................................111
INKEY........................................112
LOADFON......................................112
LOADKEY......................................112
LOG..........................................113
NOTE.........................................113
PAUSE........................................113
POP..........................................114
PORT.........................................114
PUSH.........................................115
PUTSCR.......................................115
RETURN.......................................115
SCRIPT.......................................116
SEND.........................................116
SETCOMM......................................117
STAMP........................................117
STRING.......................................118
SYSTEM.......................................118
TIMEOUT......................................118
WAITFOR......................................118
TURNOFF......................................119
4 Qmodem Operations Manual
TURNON.......................................119
UPLD.........................................120
UPLOAD.......................................120
WAITUNTIL....................................121
WHEN.........................................122
WINDOW.......................................123
WRITE........................................123
WRITELN......................................123
Error Messages.......................................124
A Call for Scripts...................................125
APPENDIX A - SCRIPT COMMAND REFERENCE....................126
APPENDIX B - TERMINAL MODE COMMAND REFERENCE.............136
5
DEFINITIONS
Throughout the documentation, you may run into cryptic text which needs
explaining. Following are some text examples you may come across.
[ENTER] or <cr> : These represent the return key on the keyboard.
If you see these in the text, press the Enter key
rather than typing in the string.
ESC or [Esc] : Means press the Esc key.
Alt-[character] : Alt- is always followed by another character
which means press and hold the Alt Key and hit
the letter following. Alt-A means hold the Alt
key down and press 'A'.
Ctrl-[character] : Is executed the same way the Alt- is handled.
You press and hold the Ctrl key and then press
the letter. Ctrl key combinations may also be
specified by the ^ (carat) as in ^T or ^V.
... (ellipsis) : Means "and everything in between". For example,
A...Z means all letters A through Z.
The following bars represent an image on the screen.
╔══════════════════════════════════════════════════╗
Sample text displayed on the screen.
╚══════════════════════════════════════════════════╝
The following is a picture of a File Allocation window that is
common throughout Qmodem. This particular example is the
Screen Dump allocation window. When the BIOS screen write
method is not used, Qmodem can scan the screen for filenames
to save you from entering duplicate data.
╔══════════════════════════════════════════════════╗
╒═[ Screen Dump File Allocation ]══════════════════════════════════════════════╕
│ │
│ > C:\SCREEN.DMP │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
6 Qmodem Operations Manual
When the BIOS method is used, this feature is not available and
you will see the following allocation window.
╔══════════════════════════════════════════════════╗
╒═[ Screen Dump File Allocation ]══════════════════════════════════════════════╕
│ │
│ > C:\SCREEN.DMP │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Enter/Edit Filename -or- [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
7
SYSTEM REQUIREMENTS
Qmodem requires an IBM PC/XT/AT or close with at least 256K, a Color Graphics
or Monochrome card and monitor, and a serial port and modem. Listed are some of
the common pieces of hardware which Qmodem has been tested with. This list is
by no means inclusive, but these HAVE been tested and are known to work fine.
Computers:
IBM PC/XT/AT/PCjr or close compatible
Tandy 1000,1200,3000
AT&T 6300 & 6300+
Compaq (all models including 386)
Video Cards:
IBM Monochrome or compatible
Hercules Mono or Color Graphics
IBM Color Graphics or compatible
IBM EGA or compatible with 128K or more.
Serial Port:
IBM Serial/Parallel adapter
Most any clone card with jumpers to be compatible
with COM1: and/or COM2: compatibility.
Modems:
Hayes and compatible.
OPERATING ENVIRONMENT
Three multi-tasking environments are supported by Qmodem. TopView from IBM,
DESQview from QuarterDeck Systems and TaskView from Sunny Hill Software.
TopView and DESQview let Qmodem run in a window and not take up the whole
screen. TaskView takes a slightly different approach and gives Qmodem an entire
screen when the partition is selected. All three let you be more productive by
running other software alongside Qmodem.
Qmodem sometimes does not work on a PC when other background software is
running. By other background software, we mean programs that are loaded in the
CONFIG.SYS, or a Batch file and remain in memory. Certain screen clock programs
cause all sorts of problems with the serial port. If you experience incoming
characters being dropped, other software is stealing time from Qmodem. Remove
programs from the AUTOEXEC.BAT file one at a time until you find the offending
program or utility.
Qmodem has been tested with several programs, including SideKick and SuperKey,
and runs just fine. One program that has been shown to not work correctly is
the clock driver supplied with some QUADRAM memory boards.
8 Qmodem Operations Manual
BACK UP YOUR DISKETTES!
The first thing you should do is back up your disks. Always, always, ALWAYS
back up your disks! I can't stress this enough! Please refer to your DOS
manual if you are not sure how to back up your disks.
Now we can proceed with confidence.
FLOPPY DISK INSTALL
The floppies have come pre-installed and you only need to make backups.
Copy all of the files from the floppy diskette to a diskette you will be using
regularly. Because of the number of files included, you may want to copy the
documentation and the Script files to a separate diskette to free up needed
space. The recommended files on each diskette is as follows:
Disk #1 QMODEM.COM (main program)
QMODEM.000...QMODEM.007 (overlays)
QMODEM.HLP (online help)
QMODEM.FON (phone book)
QMODEM.PRE (phone prefixes)
QMODEM.WND (window placements)
QMODEM.KEY (function key text)
QMODEM.CNF (configuration)
Disk #2 QINSTALL.COM (configuration program)
QINSTALL.HLP (online help)
QFONEDIT.COM (phone book editor)
QFONEDIT.001 (overlay)
QFONEDIT.002 (overlay)
QFONEDIT.CNF (configuration)
Disk #3 *.SCR (all script files)
HARD DISK INSTALL
Create a subdirectory of your choice to place all of the Qmodem files. Copy the
contents of all the diskettes into the subdirectory. The specifics of the COPY
command will not be discussed here. If you have questions, please refer to your
DOS manual.
RUNNING QINSTALL
9
Qinstall is the installation program that modifies most of the features of
Qmodem. You would run Qinstall any time you you would want to change the
default configuration for startup. Qinstall does many things, like tell Qmodem
which COM port to use, where to find support files, and even change the color.
Some of the features of Qmodem can be changed "on the fly", but it is a good
idea to go through Qinstall completely the first time so you are familiar with
all the options.
Qinstall has a mini editor built in to modify the QMODEM.CNF file. Fields that
can be changed are delimited (marked by) the [ and ] characters.
For example:
Default Color [7 ]
Default Background [0 ]
Where is the online help file QMODEM.HLP
[C:\QMODEM ]
Most of the screens in Qinstall have more than one field that can be changed.
To move between the different field, you can use the UP and DOWN arrow keys and
the TAB key. When you are positioned in a field, the field can be modified.
In the lower right corner of the screen you will see the current INSERT mode.
Pressing the INSert key or ^V will toggle it. If you are in INSERT mode,
characters are added at the current cursor position and the characters to the
right are moved over one position. If the inserted characters cause the
rightmost character to be lost, you will here a short beep.
There are two ways to remove unwanted characters, the DELete key and the ^T
combination. The DELete key deletes the character at the current cursor
position and all characters to the right are moved one position left. Pressing
the ^T deletes the character at the current cursor position and ALL characters
to the right.
Qinstall also recognizes different types of fields. Character fields, Integer
fields, Real (number) fields and YES/NO fields. Fields that accept Real numbers
require a decimal point to be included. When the cursor is on the first
character of a numeric field and you begin to change the number, the remaining
digits are automatically cleared.
Because we are human, we can and will make mistakes (Murphy has proven that).
To save any changes made on the screen, you must press the F10 key. Qinstall
will check all fields on the screen to make sure you have entered valid data
(Real numbers have decimals, Filenames look right, etc.).
If a problem is encountered, the cursor is positioned to the first wrong field
on the screen and an error message is displayed on the second line from the top.
Because one line is usually not enough to explain what the problem is, you can
press the F1 key to open up a window with more help on that field. All fields
in Qinstall have related help windows.
Only after all of the fields are correct will they be saved. If you have made
several changes to one screen, and decide that you really have MUNGed (Mangled
10 Qmodem Operations Manual
Until No Good) them up, you can press the ESC key. Pressing ESC returns you to
the previous menu without saving the changes. You can then re-enter the page
and begin again.
CREATING THE QMODEM.CNF FILE
Qmodem requires that you run Qinstall at least once. The first time Qinstall is
run, it will create the QMODEM.CNF file that Qmodem will look for. Most of the
defaults built into Qinstall are for the Hayes and Hayes compatible modems.
If you have a pre 1.06 version of QMODEM.CNF, you should delete it and start
over. Many things have changed, and Qinstall has been tuned to make the switch
a painless one.
QINSTALL - MAIN MENU
This is the Primary Menu of Qinstall:
╔══════════════════════════════════════════════════╗
Qinstall - Installation Program for Qmodem SST v3.1
1) Cosmetics : Colors & Windows
2) Hardware : Communication parameters
3) Directories : File and Path Name parameters
4) RunTime Setup : Set Defaults for many features
S) Save & Exit : Save Configuration and Exit to DOS
Q) Exit to DOS : No Changes Saved
Option > _
██████████ ███ ███ ██████████ ██████████ ████████████ ███ ███
███▒▒▒▒▒▒███ █████ █████▒███▒▒▒▒▒▒███ ███▒▒▒▒▒███ ███▒▒▒▒▒▒▒▒▒▒█████ █████▒
███▒ ███▒████████████▒███▒ ███▒███▒ ███ ███▒ ████████████▒
███▒ ███▒███▒▒██▒▒███▒███▒ ███▒███▒ ███▒████████ ███▒▒██▒▒███▒
███▒ ███▒███▒ ▒▒ ███▒███▒ ███▒███▒ ███▒███▒▒▒▒▒▒ ███▒ ▒▒ ███▒
███▒ ██ ███▒███▒ ███▒███▒ ███▒███▒ ███▒███▒ ███▒ ███▒
███▒ █████▒███▒ ███▒███▒ ███▒███▒ ███▒▒███▒ ███▒ ███▒
██████████▒▒███▒ ███▒ ██████████▒▒██████████▒▒ ████████████ ███▒ ███▒
▒▒▒▒▒▒▒███ ▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒
▒▒▒
╚══════════════════════════════════════════════════╝
Each item is selected by pressing the appropriate number or letter. To help
you, we will go through each sub-menu and describe what each one is about.
11
QINSTALL - COSMETICS MENU
This is the Cosmetics Menu:
1) Color Setup
2) Window Placement
X) Exit back to Main Menu
There are no sub-menus under Cosmetics. Each selection shows you a screen of
items that can be changed.
QINSTALL - COLOR SETUP
Here is a picture of the Color Setup screen:
╔══════════════════════════════════════════════════╗
Qinstall - Color setup
This is Foreground Text and Background. │ * Color Chart *
* Qmodem Information Message │ 1 1 1 1 1 1
│ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
╒═[ Window Colors ]════════╕ │ 0 * * * * * * * * * * * * * * * *
│ │ │ 1 * * * * * * * * * * * * * * * *
│ Primary Text │ │ 2 * * * * * * * * * * * * * * * *
│ Secondary Text │ │ 3 * * * * * * * * * * * * * * * *
╘══════════════════════════╛ │ 4 * * * * * * * * * * * * * * * *
│ 5 * * * * * * * * * * * * * * * *
│ 6 * * * * * * * * * * * * * * * *
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Status Line ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │ 7 * * * * * * * * * * * * * * * *
═══════════════════════════════════════════╧════════════════════════════════════
Foreground Text [0-15] [7 ] Background [0- 7] [0 ]
Screen Border [0-15] [0 ]
Primary Text (Window) [0-15] [2 ] Secondary [0-15] [3 ]
Window Border [0-15] [6 ] Background [0- 7] [0 ]
Information Message [0-15] [15]
Status Line Foreground [0-15] [7 ] Background [0- 7] [1 ]
Press F2 to Update the Screen Example above
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
There are three distinct areas of this screen.
1. The top left displays a sample of the normal Qmodem screen with an
open window and the status line. The area is redrawn every time the
F2 key is pressed.
12 Qmodem Operations Manual
2. In the top right is a display of all the different colors available.
The large group of asterisks are different colors on color monitors.
The foreground colors are listed at the top and range from 0 (black)
to 15 (high intensity white). The background colors are listed in the
left column and range from 0 (black) to 7 (white).
3. The bottom half lists all the different types of fields and their
current color. The numbers in the first set of brackets contain the
range of acceptable colors. The second set of brackets contain the
current color value for that field. In the sample screen, the
foreground text has a range of [0 - 15] and its current value is [3].
The second to the last line tell you that by pressing F2, the upper left area
will be updated to the colors you have selected in the bottom area. The last
line is common throughout Qinstall and controls the HELP window and exiting the
screen.
QINSTALL - WINDOW PLACEMENT
The second option in the Cosmetics Menu is Window Placement. This is where you
can change the position of some of the windows in Qmodem. Here is the "Window
Placement" screen :
╔══════════════════════════════════════════════════╗
Qinstall - Qmodem Window Placement
Instructions:
A) Select a window to be moved and press F2
B) Use the Arrow keys [><] to move the window around the screen.
C) Press Esc to return to this Menu.
Windows that can be Moved:
1) Baud rate 2) Log Drive 3) Upload
4) Download 5) Change Sub-Dir 6) Sub-Dir List
7) File Delete 8) Exit Qmodem
Window to Move [1-8] [1 ]
Press F2 to Move the Selected Window
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
13
You select the window to be moved and press F2. The screen will clear and a
window outline is displayed. You then use the four arrow keys to move the
window around the screen. When the window bumps into an edge, the computer will
beep. When you are satisfied with the position, press the ESC key.
14 Qmodem Operations Manual
QINSTALL - HARDWARE MENU
The Qinstall Hardware Menu is as follows :
1) Modem Setup #1 Modem Initialization and Timing
2) Modem Setup #2 Modem Return Codes and Commands
3) Port Setup COM Port Addresses and IRQs
X) Exit back to Main Menu
All of these entries deal with the hardware in one way or another. The first
two screens deal primarily with the modem and its commands. The third screen
deals with the serial ports inside your computer. There are no sub-menus from
the Hardware Menu.
QINSTALL - MODEM SETUP #1
Following is the Modem Setup #1 screen :
╔══════════════════════════════════════════════════╗
Qinstall - Modem Communication Parameters
Baud Data Parity Stop
Enter initial Modem settings [300 ] [8] [N] [1]
String to send BEFORE changing Baud rate [ ]
String to send AFTER changing Baud rate [ ]
How many seconds should I wait between Redial attempts [0 ]
How many seconds should I wait before Canceling a call [55 ]
How many milliseconds should be inserted between each character
when sending the "Dial" command to the modem [0 ]
What COM port is your modem attached to [1-8] [2]
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
Lets examine each of these lines one at a time.
15
The initial modem settings make up the first 4 fields:
Baud - the speed at which Qmodem opens the serial port to "talk" to the
modem. Valid baud rates are 300, 1200, 2400, 4800, 9600, 19200 and 38400.
Data - the data bits to use when communicating with the modem at start-up.
The only valid entries are 7 and 8.
Parity - the method of checking the the bytes as they are sent and
received. Valid parities are [E]ven, [O]dd and [N]one. Because there are
a maximum of 8 data bits per byte, using a parity other than [N]one
requires that you use only 7 data bits. The eighth bit then becomes the
parity bit. Most online services like GEnie, Source, and CompuServe should
use 7 data bits and [E]ven parity. Most bulletin boards now are requiring
that you use 8 data bits and a parity of [N]one.
Stop - refers to how many stop bits should be used. This parameter hardly
ever gets changed. Unless you are specifically requested to use more than
one stop bit, do not change this. Valid stop bits are 1 and 2.
The next two lines are closely related to the way your modem handles speed
changes. When Qmodem is dialing a number from the phone book, it first changes
the communication parameters (the ones on the top line) to match the computer
you will be calling. Some modems need commands to be sent to them BEFORE the
baud rate is changed, while others need to receive characters AFTER the baud
rate is changed. Refer to your modem manual to see if either of these fields
are required.
The next line ask "How many seconds between Redial attempts". When Qmodem is
told to dial a number via Alt-D or Alt-Q, the Dial/Redial window opens. If the
call is unsuccessful, Qmodem keeps trying the number until a connection is
established. The seconds between Redial attempts controls how fast Qmodem will
redial. The default is to wait 60 seconds before retrying.
The fifth line controls how long Qmodem waits to cancel the current call. This
is used by modems that cannot detect a "BUSY" signal on the line and need to be
told to cancel the call. Never set this value to less than 30 unless you are
making local calls only! It takes several seconds for a long distance call to
be placed, for the other modem to answer, and establish a good connection.
Setting this value too low will just cause frustration on your part and the part
of the Sysops running bulletin boards. The default value is 60 seconds.
If you are using a Hayes or compatible modem, the modem itself has a timer to
decide when to cancel a call. Unfortunately, the default in the modem is 30
seconds. Use the "Modem Init String" (next screen) to adjust this up to 60
seconds with the following command:
ATS7=60{
The sixth line ask how many milliseconds need to be inserted between characters
sent to the modem in command mode. Not all modems can accept commands at the
full baud rate in command mode. If your modem fails to dial reliably, try
inserting 10 milliseconds between each character. The default value is 0
because 99.9% of the modems do not have this problem.
16 Qmodem Operations Manual
The last line ask which COM port you want to use. PC's normally can have only 2
COM ports, but add-on boards can give you up to 8 COM ports. PC-DOS can only
address COM1 and COM2, but Qmodem can address all 8! The default value is 1.
To access a COM port higher than 2, see the third screen listed below.
17
QINSTALL - MODEM SETUP #2
Following is the Modem Setup #2 screen :
╔══════════════════════════════════════════════════╗
Qinstall - Modem Dial and Redial Parameters
Message your modem returns when connected . . . . . . . [CONNECT ]
Four messages your modem returns when Dialing was unsuccessful
[NO CARRIER ] [BUSY ] [NO ] [VOICE ]
String sent to cancel a Redial attempt . . . . . . . . . [{ ]
String received that cancels a Redial attempt . . . . . . [RING ]
Modem Initialization string . . [ATZ{~~ATM1E1&B1{ ]
Modem Dial Prefix [ATDT ] Modem Dial Suffix [{ ]
String sent to Hang up the Modem . . . . . . . . . . . . [DTR ]
Character (if any) to be sent twice in XMODEM transfers [ ]
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
The first field is the string that your modem returns when it has a valid
connection. This can be confusing for those of you that have 'smart' modems.
By 'smart', we mean modems that can return the baud rate with the connect
message. Some examples are :
CONNECT
CONNECT 1200
CONNECT 2400
As different as these all look, they all have the word 'CONNECT' in common. If
you were to enter 'CONNECT 1200' in the first field, Qmodem would only say a
valid connection has been made if you connect at 1200 baud. Refer to your modem
manual for the exact code(s) your modem returns when connected.
The next line asks for 4 messages that your modem returns if it cannot complete
the call. The defaults work with most 'smart' modems. Refer to your modem
manual for the exact codes.
The third line is used to cancel a call in progress. The left curly brace is
the default and sends a <CR>. If your modem does not hang up when it receives a
18 Qmodem Operations Manual
<CR>, then you can substitute the characters 'DTR' (all capital letters) for the
left curly brace. This will tell Qmodem to toggle the DTR (Data Terminal Ready)
line to the modem. 99.9% of all modems will cancel the call in progress using
the DTR method.
The fourth line is used by the Redial routine. This has been added for those of
you who must share the modem with your normal voice phone. Lets say you are
calling some BBS's, and your friend is trying to reach you. Between redial
attempts, Qmodem is watching for this string to be returned by your modem in
case you want to allow incoming phone calls. When your mother calls, your modem
will send the "RING", and Qmodem will exit the redialer. Otherwise, the phone
may be ringing, and the redial will tell the modem to place another call, and
your friend will hear a lot of strange noise!
The next line is very important. This is the line that gets sent to the modem
every time you start Qmodem. It is appropriately called the Modem
Initialization string. You would put any commands to the modem that may be
needed to override the switches (if your modem has switches) to allow Qmodem to
work correctly.
Earlier, we mentioned that it is desirable to make the modem wait 60 seconds
before canceling a call (the default in the modem was 30 seconds). Qinstall
puts the correct commands for Hayes and compatible to change this to 60 seconds.
Other commands can be included as well. The following line is recommended for
'AT' command modems to override most of the switches and let Qmodem run
correctly:
AT E0 Q0 M1 X1 V1 S7=60 S11=60{
Refer to your modem manual for the correct settings if different than what is
listed.
NOTE : Some modems claim Hayes compatibility, but check the "S" registers to
make sure they do the same thing as the Hayes.
The next line deals with the the commands used to actually tell the modem to
dial. The default Prefix is ATDT (Attention Dial Tone). If you only have
access to pulse dial lines, change this to ATDP (Attention Dial Pulse). The
Suffix default is a left curly brace (<CR>).
The seventh line is used with the Hangup command (Alt-H) in Qmodem. The default
is set for Hayes type modems. If your modem hangs up better by toggling the DTR
line, enter the characters 'DTR' (all capital letters).
And last, what character (if any) need to be sent twice while using XMODEM type
transfers. The default is blank, because Hayes type modems do not have a
problem. But, if your modem is always in command mode, even while online (like
the PCjr internal 300), then you should enter the character that starts a
command sequence.
For the PCjr example, the character ^N is the command character. You would
enter the two characters ^ and N. Qinstall will convert the two characters to
the real Control-N character. If this field is non-blank and you are doing an
XMODEM type transfer, when Qmodem sees this character to be sent, 2 of them are
19
sent consecutively. When the modem sees two command characters in a row, it
will send just one out the phone line (which is what you wanted anyway!).
Remember to use the F1 key for help with any field you are unsure of while using
Qinstall. A window will open up giving you context sensitive help on the field
the cursor is in. Now, on to the last Hardware screen.
20 Qmodem Operations Manual
QINSTALL - PORT SETUP
Following is the Port Setup screen :
╔══════════════════════════════════════════════════╗
Qinstall - Extended Communications Port Addressing
Please refer to your Hardware manual for information
on BASE Address and IRQ settings.
Comm Port #1 Base [hex] [3F8] IRQ [4]
Comm Port #2 Base [hex] [2F8] IRQ [3]
Comm Port #3 Base [hex] [3E8] IRQ [4]
Comm Port #4 Base [hex] [3E0] IRQ [3]
Comm Port #5 Base [hex] [2F0] IRQ [4]
Comm Port #6 Base [hex] [2E8] IRQ [3]
Comm Port #7 Base [hex] [000] IRQ [0]
Comm Port #8 Base [hex] [000] IRQ [0]
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
All fields are entered in HEX (Base 16) which matches most hardware technical
reference manuals. COM1 and COM2 are already entered for you and are set to the
PC defaults. Only Qmodem lets you address up to eight different COM ports. The
example screen above shows 6 ports as being defined. If the Base address
contains '000', then the port is unavailable. Ports 7 and 8 above would be
unavailable to the Alt-K command in Qmodem.
If you have a serial port board that can be addressed as a COM port higher than
2, Qmodem can take advantage of it. Some internal modems can also be configured
as COM3 or COM4. Again, Qmodem will work with these modems. I have tested a
Taiwanese board that has 4 serial ports on a half-card and configured it as
COM3..COM6 using the above listed parameters. If you use such a board, make
sure you enter the correct IRQ (Interrupt ReQuest) for each port. If you are
using a PC, XT, PCjr or close compatible, the IRQ's will be in the range of
0...7. IBM PC/AT or compatibles can use IRQ's 0...F.
21
For those of you with a PCjr without the internal modem, you should change the
default for COM1 and COM2 to :
COM Port #1 Base [hex] [2F8] IRQ [4]
COM Port #2 Base [hex] [000] IRQ [0]
For modems that advertise COM3 and COM4 support, use the following values if the
modem does not specifically tell you what to use :
COM Port #3 Base [hex] [3E8] IRQ [4]
COM Port #4 Base [hex] [2E8] IRQ [3]
I realize that this sort of information is very technical, but I can't think of
a better way to describe it. If you are going to install a piece of hardware
that goes above COM2, make sure you get some documentation that tells you the
Base address and the IRQ to use.
QINSTALL - DIRECTORIES : FILE & SUBDIRECTORY SETUP
The Qinstall Directories Menu is as follows :
1) File Directories #1
2) File Directories #2
3) Additional Transfer Protocols
X) Exit back to Main Menu
All of these entries deal in directories and files used by Qmodem. It is
important to setup your working environment so you can keep track of the files
you upload and download. These directories you will create will keep your
harddisk organized. There are no sub-menus from this menu.
22 Qmodem Operations Manual
QINSTALL - FILE DIRECTORIES #1
Following is the File Directory #1 Setup screen :
╔══════════════════════════════════════════════════╗
Qinstall - File and Subdirectories Setup #1
Enter the filename for the Screen Dumps. Use Drive:\Path\Filename
[C:\SCREEN.DMP ]
Enter the filename for Session Capture. Use Drive:\Path\Filename
[C:\MAIL\GEMAIL ]
Enter the Download Directory Path. Use Drive:\Path
[C:\DL ]
Enter the Upload Directory Path. Use Drive:\Path
[Z: ]
Enter the Script Directory Path. Use Drive:\Path
[C:\SCRIPTS ]
Enter the Help File Directory Path. Use Drive:\Path
[Z: ]
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
The first entry is the default filename for all screen dumps while in Qmodem.
As you run Qmodem, you may see some information on the screen that you would
like to save. Pressing ALT-T will capture the screen to this file. If the file
does not exist, it will be created. If the file already exists, you either
append the new screen to the existing on, or change the name and create a new
file. (See ALT-T in the Command Section)
The second entry is the default name for the Capture File. The Capture File is
a running record of all string data that has been displayed. It works much the
same way as the Screen Dump file, except it it captures ALL text until you turn
it off. (See CTRL-HOME in the Commands Section)
The third entry is the default Download Directory Path. This is a subdirectory
that you should create to temporarily store files you have downloaded from host
computers or BBS's. Note that the entry does NOT end in a "\". This will be
appended when you are prompted for a filename in the download part of Qmodem.
The fourth entry is the default Upload Directory Path. This too is a
subdirectory you should create to store the files you will be uploading to a
host computer or BBS. Again, this entry does not end with the "\" character.
23
If you do a lot of uploading and downloading from BBS's, you may want to make
both the Upload Directory Path and the Download Directory Path the same. Then
you can download a file from one BBS and call another BBS and upload the same
file without moving it physically on your harddisk.
The fifth entry it the default Scripts Directory Path. This is where you will
store all the Scripts that you write for Qmodem. If this entry is left blank,
then the Scripts are assumed to be in the currently logged drive:\directory. If
this subdirectory exists (you have created it), then all scripts will be
executed from there.
The last entry is the Help File Directory. This is where the file QMODEM.HLP
resides. It must be defined correctly for the help function of Qmodem to work.
If left blank, the online help will not work.
QINSTALL - FILE DIRECTORIES #2
Following is the File Directory #2 Setup screen :
╔══════════════════════════════════════════════════╗
Qinstall - File and Subdirectories Setup #2
Enter Default Browse Program for Alt-V Use Drive:\Path\Filename
[L ]
Enter the filename for Scroll Capture. Use Drive:\Path\Filename
[E:\QMODEM\SCROLL.SAV ]
Enter the filename for Session Logging. Use Drive:\Path\Filename
[C:\PHONE.LOG ]
Automatically LOG Session when Qmodem is started? [Y/N] [Y]
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
The first entry is the name of a Browse or List program you would like to invoke
while running Qmodem. This could be any type of program you use to view a file.
Even WordStarσ could be invoked if you prefer. The DOS TYPE command is also
valid if you want to do a quick look-see of a file.
24 Qmodem Operations Manual
The second entry is the default Scroll Capture file. This is the file that will
be created or appended to when you want to save the text data in the scroll-back
buffer. (See UP-ARROW in the Command Section)
The third entry is the default Session LOG file. While Qmodem is running, you
can keep a LOG of the most important functions that are executed. When you
placed a call and who you called; when you hung up and how long you were online;
and the upload and download information.
The last entry is a Yes/No question relating to the LOG file. This will
determine if the LOG file is to be opened when you start Qmodem. It is useful
to set this to "Y" so you never have to say to your self, "Gee, I wish I would
have remembered to turn the LOG file on".
QINSTALL - ADDITIONAL TRANSFER PROTOCOLS
Following is the Transfer Protocol Setup screen :
╔══════════════════════════════════════════════════╗
Qinstall - Additional Transfer Protocols
Selection Characters A,X,C,R,Y,G,I are pre-defined.
No blank lines are allowed.
Sel Name of Upload Batch Download Batch Download File
Char Protocol Filename Filename Prompt [Y/N]
1 [S] [CIS 'B' ] [SCIS.BAT ] [RCIS.BAT ] [N]
2 [Z] [Zmodem ] [SZ.BAT ] [RZ.BAT ] [N]
3 [K] [Super Kermit] [KERMITS.BAT ] [KERMITR.BAT ] [N]
4 [W] [WXmodem ] [WXS.BAT ] [WXR.BAT ] [Y]
5 [ ] [ ] [ ] [ ] [N]
6 [ ] [ ] [ ] [ ] [N]
7 [ ] [ ] [ ] [ ] [N]
8 [ ] [ ] [ ] [ ] [N]
9 [ ] [ ] [ ] [ ] [N]
10 [ ] [ ] [ ] [ ] [N]
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
This page gives Qmodem incredible expansion possibilities without re-compiling
the program. When a new transfer protocol is developed, a module that does just
the transfer can be added to Qmodem by means of simple BATCH files. The four
protocols listed above are included with Qmodem.
25
Basically, every external protocol you want to add to Qmodem requires 5 pieces
of information:
The character that selects the new protocol.
The name of the protocol
The BAT file that invokes the Upload.
The BAT file that invokes the Download.
The prompt for a filename when downloading.
QINSTALL - ADDING A NEW PROTOCOL
The first column is the character that selects the new protocol. It can be any
alpha-numeric character (0...9 & A...Z) except for the protocols that are
already pre-defined in Qmodem. The letters A,X,C,R,Y,G,I represent the
protocols built into Qmodem and cannot be re-used. Also, there can be no
duplication of a selection character. Qinstall will not allow it. Third, there
can be no blanks spaces separating the new protocols. If a blank selection
character is found, then that is considered the end of the list.
Assuming you have a valid selection character (like the letter Z in the above
example), you can then build the BAT files.
Here is the BAT file for the Zmodem Upload:
ECHO OFF
ECHO This is 1 [%1]
ECHO This is 2 [%2]
ECHO This is 3 [%3]
DSZ port %2 speed %1 sb %3
Qmodem passes the BAT file three parameters. The current port speed, the port
number (single digit) and the filename(s). For clarity, lets assume that we are
communicating at 2400 baud on COM1: and are sending all the EXE files in the
current directory.
First, you will select the letter "Z" from the upload window (more on that in
the Commands Section). Then Qmodem will prompt for the Filename(s) and you
enter "*.EXE". The BAT file is then invoked. On your screen you would see:
ECHO OFF
This is 1 [2400]
This is 2 [1]
This is 3 [*.exe]
(then DSZ begins to execute)
The same procedure would be used for the download BAT files.
If the download protocol requires a filename to be entered, make sure you put a
"Y" in the last column. This will tell Qmodem to ask you for a filename when
26 Qmodem Operations Manual
the you select the protocol. It will get passed to the download BAT file as
parameter %3.
The BAT files should be located in the current default directory or another
directory that is in the DOS PATH. Also, the programs that do the actual file
transfer should be accessible by the PATH. If either of these conditions are
not met, the transfer of the file(s) fails.
27
QINSTALL - DELETING A PROTOCOL
To erase a protocol definition, you only need to erase the selection character.
Qinstall will clear the other fields when the F10 key is pressed. Protocols
pre-defined in Qmodem cannot be deleted.
QINSTALL - RUNTIME SETUP : ASSORTED DEFAULT PARAMETERS
Following is the RunTime Setup sub-menu.
1) Defaults #1
2) Defaults #2
X) Exit back to Main Menu
This is where the assorted features (whistles & bells) are defined. There are
no sub menus from this menu.
QINSTALL - DEFAULTS #1
Following is the Misc. parameters #1 setup screen :
╔══════════════════════════════════════════════════╗
Qinstall - Misc. Parameters Part 1
Do you want to use XON / XOFF ..... [Y/N] [Y]
Do you want Qmodem to make noise .. [Y/N] [Y]
Do you want to add LINEFEEDS to CRs [Y/N] [N]
Do you want MUSIC played when found [Y/N] [Y]
Do you want CTS signal checking ... [Y/N] [Y]
Do you want Redial to set Baud rate [Y/N] [N]
Swap the BS to DEL on Startup ..... [Y/N] [N]
Memory for Stack/Heap in K .............. [48 ] (min 48K, max 640K)
Use BIOS screen write method ...... [Y/N] [N]
Download Buffer Blocks .................. [8 ] (min 8, max 240)
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
28 Qmodem Operations Manual
The first entry is the default mode of XON/XOFF flow control. This is either on
or off when Qmodem is started. For more information on XON/XOFF, see ALT-Z in
the Commands Section.
The second entry is the default mode of the Beeps and Bells in Qmodem. More to
the point, this setting controls how much noise will be made through the PC's
speaker. Things like the alarms when a successful connection has been
established or a successful download has completed. In an office environment,
you may wish to silence Qmodem to literally keep the peace.
The third entry controls how Qmodem handles incoming Carriage Returns (CRs).
Normally, this will be "N". But if you do come across a system where the
incoming lines are writing on top of each other, you may need to turn this on.
This is also a toggle in Qmodem, (SHIFT-TAB) so it can be changed on the fly.
The fourth entry works in combination with ANSI graphics that are put on some
fancy BBS's. Music is encoded escape sequences that Qmodem turns into real
tunes.
The fifth entry is very important when dealing with modems that need CTS/RTS
flow control. CTS/RTS flow control is most used with high speed modems (those
that can operate at 4800 baud and up) and those that use internal error
correction. The MNP protocol from Microcomσ is one example of internal error
correction. If you need this special flow control method, then set this value
to "Y". (For more information on CTS/RTS, see PGDN and PGUP in the Commands
Section)
The sixth entry tells Qmodem if it should adjust the serial port baud rate when
a connection has been made in the Dial/Redial window. Most intelligent modems
can return a CONNECT string that tells you at what speed the connection was
made. Some examples would be:
CONNECT 1200
CONNECT 2400
CONNECT 9600/REL
If this entry is set to "Y", Qmodem will look at the string for the baud rate
and adjust the serial port accordingly. If you have a modem that can 'lock-in'
at a set baud rate, say 19200, then this entry should remain "N". If you lock
the modem in at 19200 and this is a "Y", when a connection is made at any speed
other than 19200, Qmodem will reset the serial port and you will see screens of
garbage characters. If your modem is an internal unit, check to see if
automatically adjusts the serial port when a connection is made. If it does,
then this should be set to "N".
The seventh entry controls the output of the backspace key. Normally, when you
hit the backspace key, it sends out the ^H character. If you are using a
mainframe, it may require the DEL character (ASCII 127) as a backspace. If this
entry is a "Y", the initial state of the backspace key is a DEL. Otherwise it
is a standard ^H. In either case, hitting a CTRL-Backspace will produce the
opposite code of the default mode. This can also be toggled online with the
ALT-1 command.
29
The eighth entry deals with memory allocation. Qmodem requires a minimum of 48K
of memory for internal use. This memory is used to store screen images,
temporary data, the lines of text that scroll off the top of the screen and the
Download Buffer listed in the tenth entry.
It is important to know that this memory allocation affects both the scroll-back
buffer and the download buffer. Memory is first allocated to the download
buffer and whatever is left is assigned to the scroll-back buffer. If there is
not enough memory to cover the entire download buffer, Qmodem will calculate how
much is available and adjust it automatically. The new value will be reported
when Qmodem is started.
With the default setting of 48K and a download buffer of 32 block, you can store
the last 28 lines of text. Increasing the amount of memory will allow you to
store more scroll-back data. If you allocate too much memory to the scroll-
back, the external protocols and the "drop to DOS" features will cease to
function. Qmodem will take approximately 175K of memory with the heap/stack at
the minimum setting of 48K.
For a fairly large scroll-back, try a setting of 256K. This will make Qmodem
take up about 384K of memory, and still leave room for your TSR's like SideKickσ
and SuperKeyσ. This is of course assuming you have at least 512K in your
machine. Trial and error is the only way to find what works with your system
and TSR's.
The ninth entry controls the method Qmodem uses to put data on the screen. The
default method is to write directly to video memory. This is considered dirty
by IBM standards but gives Qmodem snappy displays. If you want to run under a
multitasking program such as TopViewσ, DESQviewσ, TaskViewσ or DoubleDOSσ, you
should set this to 'Y' to prevent screen bleed through.
The last entry on the page controls the download buffer. This is the number of
128 byte blocks that will be saved in memory before writing to the disk. The
minimum number of blocks is 8 (the size of one Ymodem block) and the maximum is
240 (which is equivalent to 30K). This number will be rounded to the nearest
multiple of 8 to keep things nice and even (and because Qmodem wants it that
way).
This buffer also comes out of the heap/stack space allocated in entry number
eight on this page. If you over allocate the download blocks for the available
memory, Qmodem will calculate the maximum available and tell you what has
happened. You may then want to come back here in Qinstall and change the
allocations (since Qmodem will continuously change the value if you don't).
30 Qmodem Operations Manual
QINSTALL - DEFAULTS #2
Following is the Misc. parameters #2 setup screen :
╔══════════════════════════════════════════════════╗
Qinstall - Misc. Parameters Part 2
Does your screen blink when Scrolling [Y/N]? [N]
Status window duration in Seconds [real] [3.0 ]
Additional Seconds added to Transfer Timeout [0 ]
Are you using a PCjr? [N]
Connect Tones, up to 3 may be defined [1000] [1200] [1400]
Download Completion Tone [1000]
Upload Completion Tone [1000]
Default Terminal Emulation [B]
[A] TTY [B] ANSI
[C] VT100 [D] TVI 925
Press F2 to hear Connect, F3 to hear Download, F4 to hear Upload
Press F1 for Help, F10 to Accept changes, or Esc to Exit Insert Off
╚══════════════════════════════════════════════════╝
The first entry controls the way Qmodem accesses the video memory. If you
notice 'snow' on your screen when Qmodem is opening or closing a window, then
this should be set to "Y". Monochrome and EGA video cards can leave this field
"N".
The second entry controls how long the little status windows will remain open on
the screen. All of the toggles active in Qmodem will generate a 'Toggle' window
momentarily on the screen. After you are comfortable with all of the toggles,
you can make them just blink on and off by setting this to near 0. This is a
REAL number field and requires you to enter the decimal place.
The third entry controls the timing of the transfer protocols when using a high
speed modem or when you lock in the serial port at a high speed. The default is
"0" seconds of added delay. If you experience "Short Block Errors" of erratic
transfer errors and you are using the serial port above 2400 baud, then increase
this to around 20 seconds. The bigger the gap between the serial port rate and
the actual communications rate, the higher this number needs to be. We have
found that even at 19200, this rarely needs to go above 20 seconds.
31
The fourth entry for those using a PCjr with at least 256K of memory. This will
control how the serial port is initialized. Qmodem uses the BIOS to control the
port if you are using a jr, otherwise, a more direct method is used.
The fifth through seventh entries control the tones made when a valid connection
has been made. You can test hear your selections by pressing the F2 key.
The eighth entry is the tone for the successful Download completion. You can
test hear your selection by pressing the F3 key.
The ninth entry is the tone for the successful Upload completion. You can test
hear your selection by pressing the F4 key.
The last entry is the default terminal emulation mode of Qmodem. You can change
this online if you need another. For more information, see the Terminal
Emulation Section.
QINSTALL - SAVE AND EXIT.
Pressing the "S" key will save your new configuration to the QMODEM.CNF file and
exit.
QINSTALL - ABORTING THE CHANGES.
Pressing the "Q" key will exit Qinstall without changing the QMODEM.CNF file.
If, however, you are executing Qinstall via the ALT-N from Qmodem, the changes
are immediately effective but not stored.
32 Qmodem Operations Manual
STARTING QMODEM
Qmodem is started by typing "Qmodem [ENTER]" from the DOS prompt like the
following:
A>QMODEM [ENTER]
Now you should see the flashing QMODEM SST logo and the Shareware message on the
screen:
╔══════════════════════════════════════════════════╗
██████████ ███ ███ ██████████ ██████████ ████████████ ███ ███
███▒▒▒▒▒▒███ █████ █████▒███▒▒▒▒▒▒███ ███▒▒▒▒▒███ ███▒▒▒▒▒▒▒▒▒▒█████ █████▒
███▒ ███▒████████████▒███▒ ███▒███▒ ███ ███▒ ████████████▒
███▒ ███▒███▒▒██▒▒███▒███▒ ███▒███▒ ███▒████████ ███▒▒██▒▒███▒
███▒ ███▒███▒ ▒▒ ███▒███▒ ███▒███▒ ███▒███▒▒▒▒▒▒ ███▒ ▒▒ ███▒
███▒ ██ ███▒███▒ ███▒███▒ ███▒███▒ ███▒███▒ ███▒ ███▒
███▒ █████▒███▒ ███▒███▒ ███▒███▒ ███▒▒███▒ ███▒ ███▒
██████████▒▒███▒ ███▒ ██████████▒▒██████████▒▒ ████████████ ███▒ ███▒
▒▒▒▒▒▒▒███ ▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒ ▒▒▒
▒▒▒ ████████ ████████ █████████
███▒▒▒▒███ ███▒▒▒▒███ ▒▒███▒▒▒▒
███▒ ▒▒▒███▒ ▒▒▒ ███▒
The Forbin Project ▒██████ ▒██████ ███▒
c/o John Friel III ▒▒▒▒███ ▒▒▒▒███ ███▒
Post Office Box 702 ███ ███▒███ ███▒ ███▒
Cedar Falls, IA 50613 ████████▒▒ ████████▒▒ ███▒
▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒
Qmodem represents many, many hours of work. Please help fight the high
cost of computer software by supporting the "Shareware" Concept. If you
find this program of value, a small contribution of $30 would be greatly
appreciated. In any case, please share this program with others. No other
remuneration may be accepted for Qmodem except by The Forbin Project.
Qmodem (C) The Forbin Project and John Friel III
╚══════════════════════════════════════════════════╝
Please read the opening screen carefully and then press any key to continue. At
the top of the next screen, Qmodem displays the version logo and begins to
configure itself for operation.
Qmodem looks for 5 files on the disk as follows:
QMODEM.CNF configuration file.
QMODEM.KEY function key file.
QMODEM.PRE dialing prefix file.
QMODEM.FON dialing directory file.
QMODEM.WND window definition file.
33
If you are just starting and do not have the files listed above, Qmodem will
create most of them for you. Two of them, QMODEM.CNF and QMODEM.WND, are
created by the Qinstall program. For the dialing directory, Qmodem will
initialize all of the communication parameters by asking several questions.
Once all the questions have been answered and the QMODEM.FON file created, the
main screen is displayed.
34 Qmodem Operations Manual
THE STATUS LINE.
If you have used Qmodem before, the first thing that will strike you is that
there now is a Status Line at the bottom of the screen! Lets take a closer look
at what it contains.
╔══════════════════════════════════════════════════╗
1 2 3 4 5 /--------- 6 ---------\ 7
ANSI Offline 2400-8-N-1 ▒ [Home]=? ▒ <=< 8 EC LF X '" CP LG ^ PR ▒ HH:MM:SS
╚══════════════════════════════════════════════════╝
There are seven different areas in the status line as shown above. (The above
line has been modified because all printers cannot print the exact characters
used)
Area 1 shows the current terminal emulation in effect. In the example above,
ANSI is active. The four possibilities are :
TTY
ANSI
VT100
TVI 925
In area number 2 is the ONLINE / Offline cue. When you are actually online with
another computer, the display will say "ONLINE". When you first start Qmodem,
this will say "Offline" as does the above example.
Area 3 tells you your current Baud Rate, Data Bits, Parity, and Stop Bits. This
will change as you select different settings from the ALT-P menu or as set in
the Dialing directory for each number.
The 4th area tells you how to bring up the Main Menu. By pressing the HOME key
(on the numeric keypad), a full screen window will open up showing you all of
the available commands. Also from the Main Menu, you can get help on a
particular command that you are having trouble with. The Main Menu will be
discussed a little further on, so lets get back to the Status line.
Area 5 shows you the current state of the backspace key (not to be confused with
the left arrow on the numeric keypad). The backspace key is located above the
[ENTER] key. This will either be "<=<" or "<=*" (where the asterisk looks like
an upside-down home plate). The second setting means the backspace key sends
out the DEL keystroke used in terminal emulations. For more information on the
backspace toggle, see the ALT-1 command.
Area 6 shows you the state of the rest of the toggles in Qmodem. There are 10
in all. From left to right:
8 Shows you if you are stripping or using the high-bit. A "7" means
that the high bits are stripped, and an "8" means all bits are used.
35
EC Shows you if local echo is on. Local echo means that Qmodem will
display your keystrokes. This is sometimes called "Half-Duplex". If
this spot is blank, then the remote computer is expected to echo your
characters back to you ("Full-Duplex").
LF Which means a Linefeed will be added to all incoming carriage returns.
If disabled, this will be blank.
X Shows you the current state of the Xon/Xoff flow control. If this is
blank, then Xon/Xoff is ignored by Qmodem.
' The next one is displayed by a single quote in the example, but on
your screen will show as a single musical note. This means that
Qmodem will make noise on the PC's speaker. If this is blank, Qmodem
is mute.
" The double quote in the example is really a double musical note. This
tells you if Qmodem will play ANSI Music if it sees it. If this is
blank, then the ANSI Music will not play.
CP Tells you if you have the Capture Buffer open. If this is blank, then
you are not saving text to a disk file...
LG Tells you if you have the Session LOG turned on. If this is blank,
then the LOG is not recording.
If this is not blank, Qmodem is storing the lines that scroll off the
top of the screen in the scroll-back buffer.
PR This tells you if you are copying the text on the screen to your
printer. This should be evident by your printer working away.
And last on the Status Line is the System Clock. This clock has two modes,
Real-Time and Elapsed-Time online. When the status line reads "ONLINE", the
clock begins at 00:00:00 and counts up to show you how long you have been on.
When you go offline, it will revert back to the current system time.
36 Qmodem Operations Manual
THE HOME MENU
Following is a snapshot of the Home Menu :
╔══════════════════════════════════════════════════╗
╒═[ Command Menu, Help and Status ]════════════════════════════════════════════╕
│ Alt-A Translate Table Alt-J Function Key Set Alt-S Split Scrn Toggle │
│ Alt-B Beeps and Bells Alt-K Change Comm Port Alt-T Screen Dump │
│ Alt-C Clear Screen Alt-L Log Drive Change Alt-U Scroll Back Toggle │
│ Alt-D Dial Phone Alt-M ANSI Music Mode Alt-V View/Edit File │
│ Alt-E Character Echo Alt-N Invoke QINSTALL Alt-W Disk Directory │
│ Alt-F SCRIPT Execution Alt-O Change Sub-Dirs Alt-X Exit Qmodem │
│ Alt-G Terminal Emulation Alt-P Change Baud Rates Alt-Y Delete a File │
│ Alt-H Hang-up Modem Alt-Q Redial Last Number Alt-Z Xon/Xoff Toggle │
│ Alt-I Program Info Alt-R DOS Shell Alt-0 Session Log Toggle │
│ │
│ Alt-8 8 Bit Toggle Alt-1 BS-DEL Switch Ctrl-Home Capture File │
│ Up-Arrow Scroll Back PgDn Download Files Ctrl-End BREAK Signal │
│ Shift-Tab Add Linefeed PgUp Upload Files Ctrl-PrtSc Printer Echo │
│ -------------------------[ EGA Modes ]------------------------- │
│ Alt-2 80x25 Alt-3 80x35 Alt-4 80x43 Alt-5 80x50 Alt-6 80x57 │
│ │
│ -------[ Qmodem Toggles ]-------- -[ Time ]- -----[ Copyright ]------ │
│ Echo Off Capture Off 14:05:18 The Forbin Project │
│ Linefeeds Off ScrollBack ON Post Office Box 702 │
│ Xon/Xoff Off Printer Off Cedar Falls, IA 50613 │
│ Beeps ON LOG Session ON Voice Line: 319-232-4516 │
│ Music ON 8th bit usage ON Data Line : 319-233-6157 │
╘══════[ Qmodem SST Version 3.1 Production. Compiled September 20, 1987 ]══════╛
▒▒▒▒▒▒▒▒ Press any key combination, [F1] for Help, or [ENTER] to return ▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
There are 5 main areas to the Home Menu :
The main ALT commands that are divided into two groups.
The EGA Modes which are displayed if your computer has an EGA card
installed. Otherwise, the EGA area contains a suggestion to register your
copy of Qmodem (hint, hint).
The Toggle display area in the lower left corner.
The lower center always shows you the current system time and elapsed
online time if you are currently online.
The lower right shows where to send in your contribution and the voice &
data numbers for The Forbin Project.
When the Main Menu is displayed, you will notice that the Status Line has
changed. (see above example) What it is saying is; you can press a key
37
combination to execute the command, press the F1 key for Help on a command, or
press [ENTER] to go back to terminal mode.
Throughout the program, the Status Line will always tell you what your options
are and give you help. Remember to check the Status Line if you are stuck!
So, lets get Help on a command. Press the F1 key...
Now the status line says :
╔══════════════════════════════════════════════════╗
▒▒▒▒▒ Press the key combination you would like help with, or Esc to return ▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Lets say you want to know what the ALT-A command does. With the above Status
Line displayed, all you have to do is press ALT-A! A window will open up and
tell you more about the command. All commands in the Main Menu can be viewed
this way.
If you pressed F1 and did not really mean it, the Status Line says to press the
[Esc] key and you will return to the previous Status Line.
See? You're getting the hang of this!
The [Esc] key will get you out of 99% of the windows and functions of Qmodem
without doing any harm. Now is a good chance to play with the Online Help
system. Select a few of the commands to get the feel of it.
COMMAND LINE PARAMETERS
There are two command line parameters for starting Qmodem. The first one is a
"/r" which stands for "Restart". The /R will start up Qmodem as normal, but
will not send the "Modem Init String". You might use the /R restart if you had
previously exited Qmodem via ALT-X (and the X subcommand) and now wanted to get
back online.
The second command line parameter is the /S=ScriptFile. This is used to
autostart a script file. The characters "/S=" are required and the script file
should be located in the directory as specified in Qinstall. If the file
exists, then the script will start executing immediately.
Samples:
C>QMODEM /r start without initializing the modem.
C>QMODEM /r /s=dofirst.scr same as above, but also start
executing the script dofirst.scr.
38 Qmodem Operations Manual
QMODEM COMMANDS.
Now you are ready to learn all about the commands in Qmodem. Each one will be
gone through in depth and in somewhat alphabetical order. The Online Help of
the Main Menu is sort of a "quick help" and if you need to know more about the
command, that is where to look.
ALT-A STRIP/REPLACE TABLE.
Strip/Replace is more commonly known as character translation. You would use
translation when talking to a foreign computer that sends out ASCII codes your
PC does not use or understand.
An example would be:
Some computers use the ASCII value 127 as a back space, while the PC uses
the ASCII value 8. When the computer wants to back space on your screen,
you would see a bunch of upside-down "home plates" which is the PC symbol
for ASCII 127. You would like this to be changed to the ASCII value 8 your
PC understands.
Pressing the ALT-A key combinations produces a screen containing the ASCII
values 0 through 127 and their translated equivalents. Above the translate
table is the character representation of the highlighted entry, both received
and translated. Any characters that have been translated will appear
highlighted until changed back to normal. This is quick visual cue to what has
been changed. Here is what the screen will look like :
╔══════════════════════════════════════════════════╗
╒═[ Strip / Convert Table ]════════════════════════════════════════════════════╕
│ In Character | | Out Character | | │
│ [ 0- 0] 16- 16 32- 32 48- 48 64- 64 80- 80 96- 96 112-112 │
│ 1- 1 17- 17 33- 33 49- 49 65- 65 81- 81 97- 97 113-113 │
│ 2- 2 18- 18 34- 34 50- 50 66- 66 82- 82 98- 98 114-114 │
│ 3- 3 19- 19 35- 35 51- 51 67- 67 83- 83 99- 99 115-115 │
│ 4- 4 20- 20 36- 36 52- 52 68- 68 84- 84 100-100 116-116 │
│ 5- 5 21- 21 37- 37 53- 53 69- 69 85- 85 101-101 117-117 │
│ 6- 6 22- 22 38- 38 54- 54 70- 70 86- 86 102-102 118-118 │
│ 7- 7 23- 23 39- 39 55- 55 71- 71 87- 87 103-103 119-119 │
│ 8- 8 24- 24 40- 40 56- 56 72- 72 88- 88 104-104 120-120 │
│ 9- 9 25- 25 41- 41 57- 57 73- 73 89- 89 105-105 121-121 │
│ 10- 10 26- 26 42- 42 58- 58 74- 74 90- 90 106-106 122-122 │
│ 11- 11 27- 27 43- 43 59- 59 75- 75 91- 91 107-107 123-123 │
│ 12- 12 28- 28 44- 44 60- 60 76- 76 92- 92 108-108 124-124 │
│ 13- 13 29- 29 45- 45 61- 61 77- 77 93- 93 109-109 125-125 │
│ 14- 14 30- 30 46- 46 62- 62 78- 78 94- 94 110-110 126-126 │
│ 15- 15 31- 31 47- 47 63- 63 79- 79 95- 95 111-111 127-127 │
│ │
│ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
39
▒▒▒▒▒ [] Movement ▒▒ [S]wap ▒▒ [SpaceBar] Change ▒▒ [Esc] Save and Exit ▒▒▒▒
╚══════════════════════════════════════════════════╝
If Qmodem is being run for the first time, all entries will have duplicate
translate values. This is referred to as "No translations".
To change (translate) an incoming ASCII value, move the highlighted (semi box
looking thing) around the table (up, down, left, and right) to the
number/character you want to strip or replace. The number to the left of the
dash is the ASCII position in the table. The number to the right of the dash is
the character you will see when Qmodem receives the number on the left. Press
the Space Bar once. You will receive a prompt at the bottom of the screen
asking for an integer between 0 and 255. To strip the character, replace the
number on the right with a 0 (ZERO). Press [ENTER] to complete the change.
The 'S' key will swap the table showing the high bit entries 128- 255. Repeat
the procedure to change any of these also. When you are finished, press the
[Esc] key to save the changes (if any) and return to Qmodem ready.
╔══════════════════════════════════════════════════╗
╒═[ Strip / Convert Table ]════════════════════════════════════════════════════╕
│ In Character |Ç| Out Character |Ç| │
│ [128-128] 144-144 160-160 176-176 192-192 208-208 224-224 240-240 │
│ 129-129 145-145 161-161 177-177 193-193 209-209 225-225 241-241 │
│ 130-130 146-146 162-162 178-178 194-194 210-210 226-226 242-242 │
│ 131-131 147-147 163-163 179-179 195-195 211-211 227-227 243-243 │
│ 132-132 148-148 164-164 180-180 196-196 212-212 228-228 244-244 │
│ 133-133 149-149 165-165 181-181 197-197 213-213 229-229 245-245 │
│ 134-134 150-150 166-166 182-182 198-198 214-214 230-230 246-246 │
│ 135-135 151-151 167-167 183-183 199-199 215-215 231-231 247-247 │
│ 136-136 152-152 168-168 184-184 200-200 216-216 232-232 248-248 │
│ 137-137 153-153 169-169 185-185 201-201 217-217 233-233 249-249 │
│ 138-138 154-154 170-170 186-186 202-202 218-218 234-234 250-250 │
│ 139-139 155-155 171-171 187-187 203-203 219-219 235-235 251-251 │
│ 140-140 156-156 172-172 188-188 204-204 220-220 236-236 252-252 │
│ 141-141 157-157 173-173 189-189 205-205 221-221 237-237 253-253 │
│ 142-142 158-158 174-174 190-190 206-206 222-222 238-238 254-254 │
│ 143-143 159-159 175-175 191-191 207-207 223-223 239-239 255-255 │
│ │
│ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ SWAPPING ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
40 Qmodem Operations Manual
ALT-B BELLS AND BEEPS TOGGLE.
Qmodem uses the PC's speaker to notify you of events you should be interested
in. Since you cannot control the volume of the speaker, it may be desirable to
turn it off (or on, depending on the default in Qinstall). The Bells and Beeps
can be very distracting in an office environment. You can toggle the noise on
and off with ALT-B. The Status window looks like this :
╔══════════════════════════════════════════════════╗
╒═[Status]══════════╕
│ Beeps & Bells OFF │
╘═══════════════════╛
╚══════════════════════════════════════════════════╝
ALT-C CLEAR SCREEN.
This will clear the screen of all information. For those of you who call
Bulletin Boards that have those neat color screens, sometimes the colors end up
different than you would like. Using ALT-C will reset the color on your screen
back to your configuration selections.
If you have changed the screen colors with a Script command, then the colors
specified in the Script will override the default colors.
When in VT100 mode, this command only clears the active area between the top and
bottom margins. This is sometimes called the Scrolling Region.
41
ALT-D DIALING DIRECTORY.
Qmodem has the capability to store up to 200 entries with information such as:
name, number, port configuration, script file for auto-logon, date of last
connect, total connections, default transfer protocol, and duplex to use.
After pressing ALT-D the following is displayed on the screen:
╔══════════════════════════════════════════════════╗
╒═[ Qmodem Phone Book ]════════════════════════════════════════════════════════╕
│ Page 1 of C:\QMODEM.FON │
│[D] Name Number Comm Script │
│ 1 North East Iowa PC Users PCBoard 1-319-234-0370 19200-8-N-1 Home_Pcb │
│ 2 Salt Air - Home of PCBoard! 1-801-261-8977 19200-8-N-1 Salt-air │
│ 3 GEnie - 1200 Baud Access 623-0038 1200-7-E-1 Geisco │
│ 4 RBBS-PC of Chicago (Loren Jones) 1-312-352-1035 19200-8-N-1 fargo.scr │
│ 5 TC Colossus 339-4216 2400-8-N-1 │
│ 6 Private Node #3 824-8101 19200-8-N-1 local2 │
│ 7 Public Number for the Forbin Proj. 824-8167 19200-8-N-1 local2 │
│ 8 PC Spectrum 1-714-945-2612 19200-8-N-1 rbbs │
│ 9 Terrapin Station 623-0307 19200-8-N-1 Terrapin │
│ 10 The Gold Mine 1-713-996-9290 19200-8-N-1 GoldMine │
│ │
╞═[ Options ]══════════════════════════════════════════════════════════════════╡
│ │
│ C - Clear Entry(s) O - Other Information │
│ E - rEvise Prefix Codes R - Revise an Entry │
│ L - Load new FON File PgUp - Show Previous Page │
│ PgDn - Show Next Page │
│ │
│ Dial Number(s) -or- Menu Options -or- [Esc] to Exit │
│ > _ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒ Enter number(s) to dial, Phone Book commands or [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
From here, you can dial one of the entries in the phone book and perform
maintenance.
To dial directory number 10, you would just enter "10<cr>" and Qmodem will
process the call.
With the use of the alternate prefix codes, long distance services may be
utilized. Some services require the prefix codes before the actual number,
another needs it just at the end of the number, while still others need two
codes sent out. Qmodem can handle all of the above cases with ease. Refer to
the dialing prefix subcommand below for a full interpretation on how to use the
prefix codes.
The dialing directory can hold up to 200 names, numbers and communication
parameters. From here, you can dial or revise any one of the 200 numbers,
42 Qmodem Operations Manual
change any one of the 5 prefix dialing strings, enter a manual dial number or
just page through the listings.
43
CLEARING ENTRIES
The Clear command removes unwanted information from the phone book. One entry
or a block of entries can be cleared. Lets experiment with the phone book
Qmodem created for you.
First, press the "C" key. The prompt "Number >" shows up waiting for you to
enter a number in the range 1 - 200. Pressing [ENTER] exits back to the dialing
option menu. Enter the number "10" and press [ENTER]. Now you will get the
"Through >" prompt. Here you can press [ENTER] and Qmodem will repeat the first
number for you or you can enter a larger number if you want to clear a group of
numbers. Just press [ENTER].
Last, you get the "Are you sure ?" prompt. To clear the entry(s), a "Y" or "y"
must be entered. Anything else and the Clear command aborts. The above
commands will look like the following in the lower window:
╔══════════════════════════════════════════════════╗
╞═[ Options ]══════════════════════════════════════════════════════════════════╡
│ │
│ Clear Entries │
│ │
│ Number ? 190 │
│ Through ? 200 │
│ Are you Sure ? _ │
│ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Last chance to abort before Clearing... ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
To clear a block of numbers, enter a larger number at the second prompt. The
COM parameters can also be pre-selected by using the ALT-P command before
Clearing.
DIALING AN ENTRY
Dialing; is how you connect with the world and Qmodem has one of the best.
Multiple numbers and combinations can be used to get you online quickly. Lets
take a look some of the possibilities.
You can prefix the number with one of five characters, [+ - ! @ #]. This will
cause one of the five optional prefix strings to be tacked on to the phone
number from the entry. The following examples show both good and bad dialing
entries:
Good ==> +1
#200
123
44 Qmodem Operations Manual
Bad ===> a12 (a is not a valid prefix)
201 (number > 200)
$1 ($ is not a valid prefix)
Qmodem has the ability to dial 10 different numbers at one time. At the dialing
prompt, you can specify up to 10 different entry numbers with prefix codes to be
cycled through until a connection has been established. [PgUp] and [PgDn] are
active while you select your numbers to dial. You are allowed to enter up to 60
characters that define the entries in the phone book. An example will be
beneficial:
╔══════════════════════════════════════════════════╗
╞═[ Options ]══════════════════════════════════════════════════════════════════╡
│ │
│ C - Clear Entry(s) O - Other Information │
│ E - rEvise Prefix Codes R - Revise an Entry │
│ L - Load new FON File PgUp - Show Previous Page │
│ PgDn - Show Next Page │
│ │
│ Dial Number(s) -or- Menu Options -or- [Esc] to Exit │
│ > +1, +12, +123, +!199- 50 51,52,53_ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Qmodem takes apart the string of characters (string for short) and positions
each dialing command into a separate holding area. There are only 10 holding
areas (called the Dialing Queue) so Qmodem will ignore any extras.
The characters that tell Qmodem that this is a new number are the comma "," and
the space " ". Commas and spaces can be next to each other for clarity. As in
the example, the first area will contain the string "+1". The second will
contain "+12", third "+123", fourth "+!199-", fifth "50", sixth has "51",
seventh holds "52" and the eighth contains "53".
Note that commas and spaces can be used together and are ignored. When a
holding area has more that six characters, it is flagged as invalid and skipped.
Remember, the maximum number of characters for any one dial string is six.
After the dial string has been parsed, you are put in the Redial window. For a
complete description of the Redialer, look at the ALT-Q command.
45
REVISE PREFIX ENTRIES
Prefix characters are used to modify the numbers in the phone book.
A window will open up showing you all of the prefix codes and their entries:
╔══════════════════════════════════════════════════╗
╒═[ Qmodem Phone Book ]════════════════════════════════════════════════════════╕
│ Page 1 of C:\QMODEM.FON │
│[D] Name Number Comm Script │
│ 1 North East Iowa PC Users PCBoard 1-319-234-0370 19200-8-N-1 Home_Pcb │
│ 2 Salt Air - Home of PCBoard! 1-801-261-8977 19200-8-N-1 Salt-air │
│ 3 GEnie - 1200 Baud Access 623-0038 1200-7-E-1 Geisco │
│ 4 RBBS-PC of Chicago (Loren Jones) 1-312-352-1035 19200-8-N-1 fargo.scr │
│ 5 TC Colossus 339-4216 2400-8-N-1 │
│ 6 Priv╒═[ Revise Prefix ]═════════════════════════════════════════╕al2 │
│ 7 Publ│ Current Phone Prefixes : │al2 │
│ 8 PC S│ │s │
│ 9 Terr│ + 10288 │rapin │
│ 10 The │ - 10288 1- │dMine │
│ │ ! │ │
╞═[ Optio│ @ │═════════╡
│ │ # │ │
│ │ │ │
│ │ Enter the Prefix to change or [Esc] to Exit │ │
│ │ │ │
│ │ │ │
│ ╘═══════════════════════════════════════════════════════════╛ │
│ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Enter the prefix character for the string you want to change or press [ENTER].
To clear an entry, press [SPACE] and then [ENTER].
As declared earlier in the documentation, the prefix codes can be used in a
variety of ways. Let's set up a couple of examples to describe the versatility
of prefix codes. We will make a couple of assumptions: that we are making use
of a Hayes compatible modem and that we take advantage of three different long
distance services.
Here are the Prefix code strings stored:
+ , , , 1234567
- 1
! 123-4567 , , , 1234567
@ 9 ,
# 999-9999 , , , 1234
46 Qmodem Operations Manual
Lets say we are using the type of service that needs the special codes at the
beginning of the call. We want to call number 12 in the directory. The correct
entry to the dial subcommand would be "!12". The resulting command sent to the
modem would be:
ATDT123-4567 , , , 1234567612 824 8167<cr>
The commas used in the prefix codes are assumed to be the default 2 second delay
used by most Hayes compatible modems. If you use a long distance system, you
will have to experiment with how many commas you need to make a successful call.
In the second scenario, the service in use needs a password at the end of the
long distance number. So, to dial number 12 again, use the command "12+". This
will send the following string to the modem:
ATDT612 824 8167 , , , 1234567<cr>
And last but not least, a service that uses both types of passwords. To make
things seem worse, we are going to make the call at work using the PBX exchange.
This way, I can make full use of three prefix codes at the same time. Once
again, we will dial 12 from the directory. The dialing command would be
"@#12+".
The string sent to the modem would be:
ATDT9 , 999-9999 , , , 1234612 824 8167 , , , , 1234567<cr>
Of course, this string is 45 characters and most modems limit the input to 40.
Be careful not to exceed the limit! Take out unnecessary spaces and commas to
fit.
47
MANUAL DIAL
With manual dial, any combination of numbers can be used, but the prefix and
suffix characters [ + - ! @ # ] are not allowed. If you must use the prefix and
suffix characters, revise a blank entry in the phone book and add the number.
Then dial that entry. You may eventually need to dial that number again.
As discussed above, to manually dial a number, just enter the digits on the Dial
Commands entry line and include the letter M in the digits.
Examples:
Dial Number(s) -or- Menu Options -or- [Esc] to Exit
> M 824-8167
Dial Number(s) -or- Menu Options -or- [Esc] to Exit
> 824-8167 M
Dial Number(s) -or- Menu Options -or- [Esc] to Exit
> 1 612 M 824-8167
You get the idea. The letter M can appear anywhere in the number to be dialed.
OTHER INFORMATION
Here is a picture of the sample phone book after the "O" key was pressed. Note
the new information shown:
╔══════════════════════════════════════════════════╗
╒═[ Qmodem Phone Book ]════════════════════════════════════════════════════════╕
│ Page 1 of C:\QMODEM.FON │
│[D] Name Password LastCall Total P E │
│ 1 North East Iowa PC Users PCBoard HomeBoard 06/01/87 253 Y N │
│ 2 Salt Air - Home of PCBoard! SaltyDog 06/18/87 300 I N │
│ 3 GEnie - 1200 Baud Access Hyper*Active 06/10/87 238 C N │
│ 4 RBBS-PC of Chicago (Loren Jones) 06/08/87 78 Y N │
│ 5 TC Colossus 05/02/87 70 C N │
│ 6 Private Node #3 ?!? 06/17/87 194 I N │
│ 7 Public Number for the Forbin Proj. ?!? 05/14/87 6 Y N │
│ 8 PC Spectrum Rainbow 05/28/87 29 W N │
│ 9 Terrapin Station Dead 06/14/87 57 B N │
│ 10 The Gold Mine Fools 05/15/87 37 I N │
│ │
╞═[ Options ]══════════════════════════════════════════════════════════════════╡
╚══════════════════════════════════════════════════╝
This replaces the information under COM and Script with new information. Qmodem
now can keep track of last call date, total calls, default protocol, and echo.
They are labeled LastCall, Total, P, and E respectively. LastCall and Total are
48 Qmodem Operations Manual
maintained by Qmodem, while P and E are user defined. LastCall is the date in
MM/DD/YY format of the last CONNECT to this number.
It is important to understand, that simply dialing the number does not mean that
LastCall and Total will be updated. It must be a valid CONNECT through the
Redial window.
PGUP & PGDN
Pressing PgUp shows you the next page of the dialing directory unless page 10 is
already displayed. If page 10 is displayed, then it will wrap around back to
page 1.
Similarly, pressing PgDn shows you the previous page of the dialing directory
unless page 1 is already displayed. If page 1 is displayed, then it will wrap
around back to page 10.
REVISE AN ENTRY
You Revise an entry to change the information it contains.
Pressing the letter "R" will get you the "Number >" prompt on the bottom of the
Options window. There you will enter the number of the directory to be changed.
Note that the number to be changed does not have to be displayed for this to
work. Any number from 1 to 200 will work.
A second window will open up on the screen that looks like this:
╔══════════════════════════════════════════════════╗
╒═[ Qmodem Phone Book ]════════════════════════════════════════════════════════╕
│ Page 1 ╒═[ Revise Entry ]════════════════════════════════════════╕ │
│[D] │ Name : North East Iowa PC Users PCBoard │cript │
│ 1 North│ New Name : │me_Pcb │
│ 2 Salt │ Number : 1-319-234-0370 │lt-air │
│ 3 GEnie│ New Number : │isco │
│ 4 RBBS-│ Baud rate : 19200 │rgo.scr │
│ 5 TC Co│ New Baud rate : │ │
│ 6 Priva│ Data Bits : 8 │cal2 │
│ 7 Publi│ New Data Bits : │cal2 │
│ 8 PC Sp│ Stop Bits : 1 │bs │
│ 9 Terra│ New Stop Bits : │rrapin │
│ 10 The G│ Script File : │ldMine │
│ │ New Script : │ │
╞═[ Option│ Password : │══════════╡
│ │ New Password : │ │
│ │ Old Protocol : Y │ │
│ │ New Protocol : │ │
│ │ Echo mode : N │ │
│ │ New Echo mode : │ │
49
│ ╘═════════════════════════════════════════════════════════╛ │
│ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Type in the new Echo Mode, [CR] to leave the same ▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Each part of the entry number is displayed, one part at a time, and waits for
you to enter something. If you are updating just the number for a bulletin
board, when the name is displayed, just press [ENTER] to skip to the next entry.
A null entry in the form of [ENTER] at any prompt in the revise window will NOT
change the previous data for that entry. In other words, you won't have to
retype all of the data every time you want to make a small change.
When the revision is complete, the window will disappear and the directory will
be updated both on disk and in memory.
LOADING A NEW PHONE BOOK.
Using the "L" command, you can load another phone book. If the new phone book
does not exist, you are asked if you want to create it. When a new phone book
is created, you will go through the same questions as when you created the first
phone book. After answering all of them, the phone book is ready to be used.
Pressing "L" shows the following window:
╔══════════════════════════════════════════════════╗
╒═[ Qmodem Phone Book ]════════════════════════════════════════════════════════╕
│ Page 1 of C:\QMODEM.FON │
│[D] Name Number Comm Script │
│ 1 North East Iowa PC Users PCBoard 1-319-234-0370 19200-8-N-1 Home_Pcb │
│ 2 Salt Air - Home of PCBoard! 1-801-261-8977 19200-8-N-1 Salt-air │
│ 3 GEnie - 1200 Baud Access 623-0038 1200-7-E-1 Geisco │
│ 4 RBBS-PC of Chicago (Loren Jones) 1-312-352-1035 19200-8-N-1 fargo.scr │
╒═[ FON File Allocation ]══════════════════════════════════════════════════════╕
│ │
│ > C:\QMODEM.FON_ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
│ 10 The Gold Mine 1-713-996-9290 19200-8-N-1 GoldMine │
│ │
╞═[ Options ]══════════════════════════════════════════════════════════════════╡
│ │
│ C - Clear Entry(s) O - Other Information │
│ E - rEvise Prefix Codes R - Revise an Entry │
│ L - Load new FON File PgUp - Show Previous Page │
│ PgDn - Show Next Page │
│ │
│ Dial Number(s) -or- Menu Options -or- [Esc] to Exit │
50 Qmodem Operations Manual
│ > _ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
EXIT DIALING DIRECTORY
Pressing ESC will make the dialing directory window disappear and bring you back
the main screen just as it was before.
51
ALT-E ECHO TOGGLE.
This will toggle on and off the Echo which is sometimes referred to as Duplex.
This is used in case your keyboard strokes are echoed like HHEELLOO or not
visible at all. If the Remote computer is echoing your keystrokes back to you,
this is considered Full Duplex. When you have to supply the characters
yourself, this is called Half Duplex.
The Status window looks like this:
╔══════════════════════════════════════════════════╗
╒═[Status]═╕
│ Echo ON │
╘══════════╛
╚══════════════════════════════════════════════════╝
ALT-F SCRIPT FILE EXECUTION.
WHAT IS A SCRIPT?
Qmodem includes a command language to automate and time-schedule your logons.
Scripts can be used on commercial services like CompuServe, Delphi, Dow Jones
News/Retrieval, GEnie, MCI-Mail, NewsNet, The Source and local BBS systems like
PCBoard, Fido, Nochange, and RBBS-PC.
Using a script, you type just a few keystrokes to set your communication
parameters, dial (and re-dial) the phone, connect to another computer, log on
with your name or account number and password, retrieve and save information,
then log off. Because everything is automatic, there are no mistakes or wasted
time spent online. If you are paying for your online time, scripts can save you
money.
Executing a script with Alt-F is a two step process. First, you enter the name
of the Script in the allocation window. It will disappear and the execution
window will then prompt you for any parameters to be passed to the script. Here
is what they look like:
╔══════════════════════════════════════════════════╗
╒═[ Script File Execution ]════════════════════════════════════════════════════╕
│ │
│ │
│ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
╒═[ Script File Allocation ]═══════════════════════════════════════════════════╕
│ │
│ > C:\SCRIPTS\TEST1 │
│ │
52 Qmodem Operations Manual
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════╗
╒═[ Script File Execution ]════════════════════════════════════════════════════╕
│Script to execute : │
│>C:\SCRIPTS\TEST1 │
│Enter Script Parameters (if any) │
│> │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
For more information on the Scripts, refer to the Scripts Section in the back of
the manual.
ALT-G TERMINAL EMULATION.
Terminal emulation makes Qmodem look like another terminal. An example would be
the popular VT100 from Digitalσ. In terminal emulation mode, Qmodem translates
the terminal codes to ones that the PC can display and generally looks just like
that terminal.
There are 4 types of terminals emulated now:
TTY - No emulation at all.
ANSI - Emulates the ANSI.SYS of PC DOS.
VT100 - Emulates the Digital VT100.
TVI925 - Emulates the Televideo 925 terminal.
The window on your screen will look like this:
╔══════════════════════════════════════════════════╗
╒═[ Terminal Emulation ]═╕
│ Current = ANSI │
│ A) TTY │
│ B) ANSI │
│ C) VT100 │
│ D) TVI 925 │
│ Selection ? _ │
╘════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Select emulation mode, or [ESC] to Exit ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
53
╚══════════════════════════════════════════════════╝
Just press the letter that corresponds to the terminal you want to emulate.
When pressed, the screen will clear and the Status Line will reflect the
emulation mode.
If you are in Split-Screen mode (via ALT-S), you cannot change your emulation
mode. Split-Screen requires the TTY emulation mode.
ALT-H HANG UP.
The Hangup command is used to terminate a call. If you get connected to a host
computer that 'locks up', you would use this command to disconnect the call.
Pressing ALT-H may do one of two things depending on what you have entered in
Qinstall. If you have entered "DTR" for the modem hangup string, Qmodem will
toggle the "DTR" signal and the connection will be dropped. Otherwise, it sends
out the Modem Hangup string. The recommended Hangup string from Hayesσ is
"~~~+++~~~ATH{" where;
~~~ = 1.5 seconds delay
+++ = go to Command Mode string
~~~ = another 1.5 seconds delay
ATH = command to Hangup
{ = the [ENTER] key
The DTR signal stands for "Data Terminal Ready". Most modems will automatically
Hangup when the DTR signal is dropped for 1.5 seconds. Having the characters
DTR in the Hangup string does exactly that. Check your modem manual, and if it
says that the modem will hangup with the toggle of DTR, it is the preferred
method. The Status window will look like the following:
╔══════════════════════════════════════════════════╗
╒═[Status]════════════════╕
│ Sending Hang-Up command │
╘═════════════════════════╛
╚══════════════════════════════════════════════════╝
ALT-I INFORMATION ON QMODEM.
This will always tell you what version of Qmodem you are using, and an Invoice
Form to send in. If you have any problems with Qmodem, please send me a card or
letter and include this information. Also include a complete description of the
hardware and software running on your system when the problem occurs.
Note any TSR's you may have running at the time. This is the only way I can
accurately solve the problem.
54 Qmodem Operations Manual
ALT-J FUNCTION KEY MACROS.
Function key (FKey for short) macros are used to store keystrokes that you would
send repetitively. Lets take a closer look at the ALT-J window:
╔══════════════════════════════════════════════════╗
╒═[ Function Key Assignment ]════════════════════════════════════════════════╕
│ Normal Shift Ctrl Alt │
│ 1) Script Test 11) /sta{ 21) Script DECDEMO 31) ^[[1A │
│ 2) Script MAINMEN 12) /use{ 22) Script HOST 32) ^[[1B │
│ 3) Script Test1 13) /STA *{ 23) Script QMODEM. 33) ^[[1D │
│ 4) AT M0{ 14) [Null] 24) Script COLORS 34) ^[[1C │
│ 5) AT M0H1{ 15) [Null] 25) Script QMODEM. 35) [Null] │
│ 6) AT M1H0{ 16) [Null] 26) Script DOWN 36) [Null] │
│ 7) John{ 17) Script Test 27) Script QVisa 37) John Friel III │
│ 8) Friel{ 18) Script Test1 28) [Null] 38) [Null] │
│ 9) $Password{ 19) [Null] 29) [Null] 39) [Null] │
│10) 20) ^X^X^X^X^X^X^X 30) Script RSColor 40) $Password{ │
│ │
│ Key File is C:\QMODEM.KEY │
│ │
│ 1) Normal 2) Shift 3) Ctrl 4) Alt L) Load KEY file Esc) Exit │
│ │
│ Which one ? _ │
│ │
│ │
╘════════════════════════════════════════════════════════════════════════════╛
▒ [Partial Listing of all Assignments] ▒ Select to Display/Edit ▒ [Esc] to Exit
╚══════════════════════════════════════════════════╝
This will open up a window with 6 parameters. Straight, Shifted, Ctrl, Alt,
Load and Esc. You can select 1 - 4 to view the current definitions for the key
group or enter the letter "L" to load a new .KEY file. If you want to alter any
of the keys, enter the number to the left of the definition at the bottom.
Pressing the ESC key will close the window.
The different key groups are in columns with a label at the top of each column
describing the additional key that needs to be pressed to invoke that function.
The "SHIFT" means press and hold either Shift key and then press the FKey.
"CTRL" means press and hold the CTRL key. Same for the "ALT" key. The "Normal"
key is just the FKey with no other keys held down.
The keys are numbered from 1 to 40 for clarity. Each column references F1
through F10, top to bottom with the key modifier being the label.
Each column displays the first 14 characters that are assigned to each key.
This can looked at as a Quick Reference for all macros. If you want to see the
complete definitions for any column, select the number at the prompt to bring
that column into full view.
55
CHANGING A KEY MACRO.
When you select 1 through 4, the window will clear and bring that specific
column into full view. Here is an example:
╔══════════════════════════════════════════════════╗
╒═[ Function Key Assignment ]════════════════════════════════════════════════╕
│ │
│ Definitions for Ctrl F-keys │
│21) Script SETCOLOR 7 1 "String passed to S2" │
│22) Script HOST.HST │
│23) Script QMODEM.RT │
│24) Script COLORS │
│25) Script QMODEM.RT │
│26) Script DOWN │
│27) Script QVisa │
│28) [Null] │
│29) STAMP The current time is $TIME on $DATE │
│30) $Password{ │
│ │
│Select the Number to Modify or [Esc] to Exit ? _ │
│ │
│ │
│ │
╘════════════════════════════════════════════════════════════════════════════╛
╚══════════════════════════════════════════════════╝
There are two special character you can use. The "{" character will be
substituted by the [ENTER] key, and the "~" will cause a one-half second pause.
A SCRIPT MACRO.
Lets take a closer look at the above examples for the Ctrl-FKeys. Entries 21
through 26 (Ctrl-F1 through Ctrl-F6) use the keyword "Script. Any FKey that has
the first 6 characters of "SCRIPT" will invoke a Script File. The Script file
to execute can be separated by 1 or more spaces from the "SCRIPT" keyword. If
the Script needs parameters passed to it, they too can be included and must
follow the Script filename separated by one or mode spaces.
Look at number 21. It will execute the Script "SETCOLOR" and pass it 3
parameters. Parameter 1 is the character "7", parameter 2 is "1" and parameter
3 is "String passed to S2". Note how the third parameter needed quotes around
it because it had embedded spaces.
A LOG MACRO.
Now lets take a look at number 29. The word "STAMP" is also a keyword. It the
FKey begins with "STAMP", then the whole Macro will get entered into the LOG
56 Qmodem Operations Manual
file. For more information on the LOG file, refer to the ALT-0 Command. The
special characters "~" and "{" have no meaning when the "STAMP" us used.
THE PASSWORD MACRO.
Now lets look at the last keyword, "$PASSWORD". This lets you take advantage of
the PASSWORD field in the Phone Book (see ALT-D). When a valid connection is
made through the Dial/Redial window, the Password of that entry is loaded into
the $PASSWORD keyword. Lets assume that the word "QMODEM!" is assigned to a
password field in the phone book and we have just connected to that system. In
the example above, pressing CTRL-F10 would send "QMODEM!" followed by the
[ENTER] key.
The previous two keywords had to be the first word in the macro, but not so
with the $PASSWORD keyword. It can be anywhere in the macro to work. For
example, lets say that the following is assigned to number 30:
30) My password is $password.
After the connection, pressing CTRL-F10 would send the following:
My password is QMODEM!
LOADING A NEW KEY FILE.
Look back at the first example screen, the one with the quick reference of all
FKeys. Just above the line with the options, you see the name of the KEY file
that is currently loaded. Using the "L" command will load a new KEY file. If
the KEY file does not exist, then you will be asked if you want to create it.
Once loaded, all the above features will work on the new KEY file.
ALT-K CHANGING THE ACTIVE COM PORT.
╔══════════════════════════════════════════════════╗
╒═[ Set Active COM Port ]════════════════════════╕
│ Active COM Port is COM2 │
│ Available ports are : │
│ │
│ 1) COM1: 2) COM2: │
│ 3) COM3: 4) COM4: │
│ 5) COM5: 6) COM6: │
│ 7) Undefined 8) Undefined │
│ │
│ Selection ? _ │
│ │
╘══════════════════════════════════════════════════╛
57
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Select a different COM Port [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Selecting ALT-K opens a window showing you the currently active COM port and the
ones you have available. All 8 COM ports will be shown, but you can only select
ports that are marked COMx (where x is 1 through 8). If the port is marked
"Undefined", that means that you have not set that port up in Qinstall and
cannot select it.
Remember back in the Qinstall section under setting up Base Addresses and IRQs?
That setup is reflected in the above snapshot.
After you choose the COM port, Qmodem will close the current port and open the
new port with the same parameters your previous port had. If you want to change
the parameters, then press ALT-P.
ALT-L CHANGING THE LOGGED DRIVE.
╔══════════════════════════════════════════════════╗
╒═[ Change Log Drive ]══════════════╕
│ │
│ The current Logged Drive is : C │
│ Enter the new Drive : _ │
│ │
╘═════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒ Enter a new Drive letter to make default. [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
This opens a small window and asks for the drive letter to become the default
drive. Drive letters A through Z are valid.
Qmodem will check to make sure the drive is valid before closing the window. If
the drive is found to be invalid, a message to that effect will be displayed and
you will be prompted for another drive letter. If the drive was valid, the
window will politely disappear. Pressing ESC will abort the drive change and
the window will disappear.
ALT-M MUSIC TOGGLE.
Music will be generated on the PC's speaker if the following three things are
true:
1 The terminal emulation must be ANSI (ALT-G).
2 Music is ON (ALT-M).
58 Qmodem Operations Manual
3 The BBS you are connected to has music encoded screens.
If any of these are not true, you will not hear music. The format of the
Encoded Music string that Qmodem recognizes is :
ESC [ M .....music codes..... ^N
ESC stands for the ASCII character number 27 or ^[. The Music codes are
identical to the BASIC's PLAY command. Since it is well documented in the IBM
BASIC manual, the codes themselves will not be explained in detail. All music
strings must end with the ctrl-N or ^N character. If this is left off, text
characters following are assumed to be playable music and heaven knows what that
will sound like! Not to worry, a maximum of 255 characters are used in any one
"set".
ALT-N INVOKING QINSTALL.
You can now run Qinstall from inside Qmodem. There is a restriction that you
must have enough memory to load Qinstall.
Almost all of the preset fields can be modified. You can change the colors, the
upload and download directory paths and add new protocols without leaving
Qmodem. Qinstall will even come up using the window colors you have defined.
If there is not enough memory to load Qinstall, nothing will happen. You then
must use the ALT-X command and run Qinstall.
ALT-O CHANGING SUBDIRECTORIES.
╔══════════════════════════════════════════════════╗
╒═[ SubDirs ]═╕
│ . │ ╒═[ Change Sub-Directory ]══════════════════════════╕
│ .. │ │The current directory PATH is : │
│ MAIL │ │C:\ │
│ XEROX │ │Enter a New Directory [See column] │
│ VERSIONS │ │_ │
│ MERLIN │ │ │
│ MASTER │ │ │
│ SCRIPTS │ ╘══════════════════════════════════════════════════════╛
│ DL │
│ QINSTALL │
│ SITEVERS │
│ MCI │
│ XFERS │
│ MPI │
│ ULTRAN │
│ BN │
│ VISA │
│ DCS │
59
│ TDEBUG │
│ │
│ │
│ │
╘═══════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Enter [Drive:][\Path][\Path...] ▒ [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
With this command, not one, but two windows open up. The long tall one on the
left of the screen is a listing of valid subdirectories for the current
directory you are in. If you don't have any subdirectories or don't use them,
this would be blank. The other window lists your current path (if any) and
waits for you to enter a CHDIR command. Any valid CD command can be entered
here, not just what shows in the left column.
To select PCBOARD, you only need enter "PCBOARD" in the main window. No need to
type the whole thing in again. If you enter something wrong, Qmodem will give
you the message:
Invalid CHDIR command. No changes made.
On the other hand, taking the same example as above, if you wanted to switch to
an optional download directory, you could have typed in C:\COM\DOWNLOAD to the
prompt and (provided the path was valid) you would then be in your download
subdirectory.
Note too, that if you include the drive specified with a new path command, and
the Drive is valid, the current Logged Drive will be changed also.
ALT-P COMMUNICATIONS PARAMETERS.
╔══════════════════════════════════════════════════╗
╒═[ Set Modem Speed ]══════════════════════════════╕
│ Current setting is COM2: 19200,N,8,1 │
│ │
│ ┌--------Speed--------┐ ┌--Parity--┐ ┌-Data-┐ │
│ A) 300 E) 9600 H) Even K) 7 │
│ B) 1200 F) 19200 I) Odd L) 8 │
│ C) 2400 G) 38400 J) None ┌-Stop-┐ │
│ D) 4800 M) 1 │
│ N) 2 │
│ │
│ Selection(s) [CR=Save ESC=Exit] ? _ │
╘══════════════════════════════════════════════════╛
▒▒▒ [] Movement ▒▒ [SpaceBar] Select Topic ▒▒ [Letter] Immediate Selection ▒▒▒
╚══════════════════════════════════════════════════╝
60 Qmodem Operations Manual
You can change your communication parameters on the fly without having your
modem hangup.
There are two ways to select the new parameters. The first method is my using
the Space Bar to select the topic. The four topics are SPEED, PARITY, DATA, and
STOP. As you press the Space Bar, each of these will light up in turn. You
then use the left and right arrow keys on the numeric keypad to change the
values.
The second method is to just hit the letter associated with the parameter you
want.
Pressing [ENTER] alone keeps the previous setting and exits to Qmodem ready. If
one of the list entries is selected, the communication parameters are altered to
reflect the new choice before the window disappears.
61
ALT-Q THE DIAL/REDIAL SCREEN.
╔══════════════════════════════════════════════════╗
╒═[ Dial / Re-Dial ]════════════════════════════════════════════════╕
│ Dialing : Desc. : │
│ Script : Last On : Total Calls : │
│ │
│ Started : Clock : Attempt Num.: │
│ Modem : │
│ Status : │
╞═[ Dialing Queue ]═══════════════════════════════════════════════════╡
│ Press [D]ial, [E]dit Queue or [Esc] to Exit │
│ 1 : │
│ 2 : │
│ 3 : │
│ 4 : │
│ 5 : │
│ 6 : │
│ 7 : │
│ 8 : │
│ 9 : │
│ 10 : │
╘═════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ [D]ial Numbers Shown ▒ [E]dit Queue ▒ [Esc] Exit ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
The Dial/Redial window has been greatly enhanced for this release. As you can
see from the above snapshot, it has gotten a bit bigger from previous releases.
The Queue holds a maximum of 10 numbers to be cycled through.
As explained in the ALT-D command, you can enter up to 10 phone book dial
commands complete with prefix codes. Qmodem will cycle through them one at a
time until a connection is made. Qmodem now has an exclusive Queue Edit feature
that lets you manipulate the queue and continue where you left off. You can
change an entry, delete an entry, or add a new entry, and then start the cycle
over.
This screen will show you not only the status of the current call, but the
information from the phone book about the current number being called. The last
time you connected successfully, how many time you have called, and the name of
a Script (if any) attached to this number.
The next line shows the status of the redial session. When you started the
Dial/Redial, the current system Clock and the current Attempt number.
The fourth line is reserved for messages that your modem returns.
The fifth line is reserved for Status messages. (See below).
62 Qmodem Operations Manual
This really is a lot easier to run than to explain, but here goes.
63
DIALING FROM THE ALT-D SCREEN.
If you entered ALT-D to get to this window, then the calling process starts
immediately. There are no delays, the ALT-D screen will close and this window
will open automatically.
While the window is open, you have the following commands:
[C]ycle Next - Pressing the "C" key will abort the current call, and start
the next. The queue works from top to bottom skipping any blank
lines.
[D]elete Current - Pressing "D" aborts the current call and also deletes
its entry from the queue.
[E]dit Queue - Pressing "E" aborts the current call and places you into an
Edit mode. There you can change the queue before continuing.
[X]tend Cycle - There is a preset limit in Qinstall as to how long a call
should wait for a connect before cycling. You can extend this timeout
by 5 seconds for every press of the "X" key.
[Esc] - Pressing ESC will abort the current call and also remove the
Dial/Redial window.
When a connection has been made and the Beeps and Bells are active, Qmodem will
sound off letting you know. Press any key to silence the bells and remove the
window. If a script file was attached to the dialing entry, the bells will not
go off and the script will begin executing automatically.
EDITING THE QUEUE.
When you are in the Edit mode, the line right below the dividing line will
change to the following:
Enter the queue number to change ? _
Here you type in a number from 1 to 10 and press [ENTER] or press [Esc] to abort
the Edit. Assuming you entered a valid number, you will then get the following:
Enter the new dial command for X, [Esc Exit] ? _
The X will be replaced by the number you typed in for verification. This line
does not tell the whole story, and that's what the Status Line is for. The
Status Line says to enter a new FON command, [ENTER] alone clears the entry, or
[Esc] to exit.
64 Qmodem Operations Manual
Lets assume that the phone book is full of valid numbers. Here are some
examples:
Adding a number to the Queue:
Press "E" to get into Edit mode.
Enter the queue entry number to modify. (Say 10)
Enter "9" (Some BBS number)
(Now the BBS name and number appear in entry 10)
Press "Esc" to exit the Edit mode and start dialing.
Deleting a number from the Queue:
Press "E" to get into Edit mode.
Enter the queue entry number to delete. (Say 10 again)
Now just hit the [ENTER] key.
(Entry 10 is now blank!)
Press "Esc" to exit the Edit mode and start dialing.
STARTING WITHOUT A PREVIOUS DIAL.
Pressing ALT-Q without going through ALT-D will bring up the same window, except
that the redialer does NOT start dialing immediately. You will get a prompt
asking what you want to do:
Press [D]ial, [E]dit Queue, or [Esc] to Exit
If there were no numbers in the Queue, then pressing either "D" or "Esc" will
exit the window. (Can't dial without numbers in the queue!) Your only option
would be to enter the Edit mode and ADD numbers to the Queue.
If there are numbers left over from a previous redial, then pressing "D" will
start the calling sequence.
STATUS MESSAGES.
Here is a list of all the possible Status messages:
Manual Cycle.
Number deleted from Redial queue.
Esc key pressed, Re-Dial aborted.
65
Dial timing period expired.
Line busy or modem timed out.
Redial aborted.
Connected! Press any key to continue!
Redial pausing xxx
Redial halted due to RING detect. Press Alt-Q to restart.
Editing Queue
xxx Seconds remain until Cycle
PARAMETERS PASSED TO THE LINKED SCRIPT.
Several parameters are passed to pre-defined Script String variables when a
valid connection has been made. They remain active until the script has
finished. They are:
$BOARD - the name of field.
$NUMBER - the number called.
$SPEED - the current baud rate.
$COM - the parity, data and stop bits settings.
$PASSWORD - the password field.
$PROTOCOL - the default transfer protocol.
$SCRIPT - the name of the linked script.
For more information on Script String variables, see the Script Language
Section.
66 Qmodem Operations Manual
ALT-R DOS SHELL.
If there is enough memory in your system and a copy of COMMAND.COM can be
located with the COMSPEC= in the environment, you can drop to DOS. Pressing
ALT-R produces the following screen:
╔══════════════════════════════════════════════════╗
Qmodem «--» DOS Shell
Enter "EXIT" to return to Qmodem.
The IBM Personal Computer DOS
Version 3.20 (C)Copyright International Business Machines Corp 1981, 1986
(C)Copyright Microsoft Corp 1981, 1986
C:\>EXIT
╚══════════════════════════════════════════════════╝
In the previous example, you may be in a different subdirectory and have a
different version of DOS, but essentially you get the same results. Qmodem is
still running, capturing data if any comes in. If you remain in the DOS shell
too long, the buffer in Qmodem may fill up and cause lost data.
All DOS commands are then available, should you want to format a disk for
example. You can not execute any program that attaches itself to DOS and
remains resident. SideKick is a good example.
To return to Qmodem, enter the EXIT command at the DOS prompt.
Remember, not all programs can be executed in this fashion, Qmodem is not
designed to be a DOS shell.
ALT-S SPLIT SCREEN MODE.
You will get the following line across the lower part of the screen:
╔══════════════════════════════════════════════════╗
══[ Keystrokes Queued 0 ]═══════[ Split Screen ]════════════════════════════════
TTY Offline 19200-8-N-1 ▒ [Home]=? ▒ = 8 LG ▒ 22:35:57
╚══════════════════════════════════════════════════╝
67
The screen is divided into two partitions with one fifth of the screen reserved
for the bottom partition. ALT-S is a toggle, so hitting ALT-S again will drop
you out of split screen mode.
If you are using a terminal emulation other than TTY, the emulation will be
changed to TTY. Upon leaving split screen, the emulation will remain in TTY
mode.
This is a true split screen mode complete with a 254 character buffer. Pressing
the <cr> transmits the buffer. The keystrokes are kept track on on the dividing
line. The character "{" can be used to substitute a <cr> in the string.
Another feature of the split screen is that all blank lines are "eaten" and not
displayed. White space is then reduced to make better use of the upper region.
ALT-T SCREEN DUMP.
This copies the screen to a file as specified in the following window that will
appear:
╔══════════════════════════════════════════════════╗
╒═[ Screen Dump File Allocation ]══════════════════════════════════════════════╕
│ │
│ > C:\SCREEN.DMP │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
The screen is APPENDed to the file with a Time and Date stamp. If the file does
not exist, you are prompted to create it.
If the save was successful, you will hear a quick "bleep" sound and the Status
window will confirm that it was saved ok.
╔══════════════════════════════════════════════════╗
╒═[Status]════════════════════════════╕
│ Screen Dump saved to C:\SCREEN.DMP │
╘═════════════════════════════════════╛
╚══════════════════════════════════════════════════╝
ALT-U SCROLL BACK TOGGLE.
68 Qmodem Operations Manual
The Scroll Back toggle controls what is stored in the scroll-back buffer. The
Scroll Back command is discussed under the command "Up Arrow" later in this
documentation file.
Qmodem comes up with the Scroll Back turned ON. Everything coming to the screen
will be stored for later recall in the buffer.
The Status window looks like this:
╔══════════════════════════════════════════════════╗
╒═[Status]════════╕
│ Scroll Back OFF │
╘═════════════════╛
╚══════════════════════════════════════════════════╝
ALT-V VIEW A FILE.
Pressing ALT-V brings up the View / Edit file allocation window:
╔══════════════════════════════════════════════════╗
╒═[ View / Edit File Allocation ]═════════════════════════════════════════════╕
│ │
│ > L *.PAS │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
The gateway can be used to either browse or edit a file. The above example
shows the LIST program popular on BBS's everywhere. LIST is a more
sophisticated TYPE program that is supplied in DOS. Any program that you would
like to use could be put in here, even WordStarσ!
This uses memory the same way the DOS shell does. You must have enough memory
to invoke your list program or this will not work.
For you power users, this can also be used to "visit" DOS. Any valid DOS
command and/or program will work here. You could, for example, type in "DEL
*.BAK" and press enter. This would go out and delete all the files in the
current directory with an extension of ".BAK".
When the "visit" has been completed, you will get:
* Press any key to continue
Press any key and you will be back in Qmodem where you left off.
69
ALT-W DISK DIRECTORY.
This is just like the DOS version of "DIR /p". Depending on where you are with
respect to subdirectories, all of the normal files are displayed with their
respective attributes. One of the enhancements is that all files include a
Transmit time as part of the display. This time is based on your current baud
rate set by the ALT-P command. Try changing the baud rate and doing an ALT-W to
see the transmit time change.
If you are using a floppy based system, you will first be prompted to insert a
diskette into the drive. If you are using any drive above B:, the prompt is not
used.
Then you will get the following:
╔══════════════════════════════════════════════════╗
╒═[ Filename Size Time Date Xmit Time ]═╕
│ │
│Volume is MINI_2 │
│ Path : C:\ │
│ Use Pattern *.* │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
╘═════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Key in a Filename, * ? are valid. [CR] = *.* ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
You are first given the chance to enter a file search string. Pressing [ENTER]
defaults to *.*. The *.* will display all files in the current directory. If
you want to see just the files that end with "ARC", enter "*.ARC". The
characters ? and * are valid.
70 Qmodem Operations Manual
For those of you who have lengthy directories, you can press the [Esc] key and
Qmodem will skip the rest of the files and show you the free space on the drive.
╔══════════════════════════════════════════════════╗
╒═[ Filename Size Time Date Xmit Time ]═╕
│Volume is MINI_2 │
│ Path : C:\ │
│ COMP-CRC.ASM 2240 20:52 06-18-86 00:00:02 │
│ QMODEM.000 9984 16:01 06-17-87 00:00:07 │
│ QMODEM.001 21504 16:02 06-17-87 00:00:15 │
│ QMODEM.002 3584 16:02 06-17-87 00:00:03 │
│ QMODEM.003 49920 16:03 06-17-87 00:00:34 │
│ QMODEM.004 4096 16:02 06-17-87 00:00:03 │
│ COMMIO.BIN 119 20:53 06-18-86 00:00:01 │
│ QINSTALL.COM 62688 0:09 06-17-87 00:00:43 │
│ QINSTALL.HLP 38880 22:23 04-17-87 00:00:27 │
│ CINKEY.ASM 1568 21:10 06-18-86 00:00:02 │
│ CNVT2023.PAS 4301 12:01 09-01-86 00:00:03 │
│ MAKEHELP.COM 12159 13:10 06-28-86 00:00:09 │
│ CINKEY.BIN 45 21:11 06-18-86 00:00:01 │
│ MAKQHLP.PAS 3737 9:01 09-01-86 00:00:03 │
│ QMODEM.005 7936 16:02 06-17-87 00:00:06 │
│ COMP-CRC.BIN 73 20:52 06-18-86 00:00:01 │
│ DOHELP.BAT 25 15:52 06-28-86 00:00:01 │
│ DEFAULT.BIN 512 12:52 09-24-86 00:00:01 │
│ Free space = 2512896 bytes │
│* Tap any key to continue │
╘═════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
ALT-X EXITING QMODEM.
╔══════════════════════════════════════════════════╗
╒═[ Leave Qmodem ]══════════════════════╕
│ │
│ Are you sure? [Y/N/X] _ │
│ │
╘═══════════════════════════════════════╛
▒▒▒ [Y]es - Drop DTR and Exit ▒▒ [N]o - Return ▒▒ [X] - Leave DTR up and Exit ▒▒
╚══════════════════════════════════════════════════╝
Pressing ALT-X will open a window and ask if you really want to exit. This is
just a safety measure in case you really didn't intend to press ALT-X. If you
do exit, Qmodem will return to the directory on your disk where you started.
Qmodem will also close the Capture and LOG files if they are open.
71
Entering an 'X' will cause Qmodem to exit to DOS and leave the DTR line active.
If you were online with another computer, you could issue the ALT-X command,
enter an 'X', format a disk, re-invoke Qmodem and still be online.
72 Qmodem Operations Manual
ALT-Y DELETE A FILE.
This is used to delete a file you no longer want or need. First you will get
the File Delete Allocation Window:
╔══════════════════════════════════════════════════╗
╒═[ File Delete Allocation ]═══════════════════════════════════════════════════╕
│ │
│ > C:\SCRN2DSK.BAK │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
│ │
│ │
│ │
│ │
│ │
╘═════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Qmodem asks for a valid filename and checks to see if that file exist in the
current directory. If it does, it asks you again if you really really want to
delete the file.
╔══════════════════════════════════════════════════╗
╒═[ File Delete - Be Careful! ]═══════════════════════════════╕
│ You are about to delete the following File │
│ C:\SCRN2DSK.BAK │
│ │
│ Are you SURE ??? [Y/N] Yes │
│ Deleting File C:\SCRN2DSK.BAK │
│ File C:\SCRN2DSK.BAK deleted. │
╘═════════════════════════════════════════════════════════════╛
ANSI Offline 19200-8-N-1 ▒ [Home]=? ▒ = 8 LG ▒ 22:36:52
╚══════════════════════════════════════════════════╝
This will be the last chance before you might do something that can only be
regretted later. Please be careful with this one!
ALT-Z XON/XOFF TOGGLE.
This will toggle the Xon/Xoff flow control built into Qmodem. Xon/Xoff is a
very simple means of flow control usually used by mini and mainframe computers.
73
With Xon/Xoff in the OFF mode, a buffer overrun may occur on long ASCII
transmissions.
74 Qmodem Operations Manual
If Xon/Xoff is ON and Qmodem sees the Xoff (^S) code, you will see a small
window open up that looks like this:
╔══════════════════════════════════════════════════╗
╒═[Status]════╕
│ XON/XOFF ON │
╘═════════════╛
╚══════════════════════════════════════════════════╝
When the other system is ready for more data, it will send the ^Q code and the
window will disappear. If you think there is a problem, you can manually
restart the flow of data by pressing ^Q.
PgUp UPLOAD (SENDING) A FILE.
The PgUp key will open a window and ask you what type of transfer protocol you
would like to use:
╔══════════════════════════════════════════════════╗
╒═[ Upload Protocols ]═══╕
│ A) Ascii │
│ X) Xmodem │
│ C) Xmodem CRC │
│ R) Relaxed Xmodem │
│ Y) Ymodem │
│ I) Imodem │
│ G) Ymodem-G │
╞══════[ External ]══════╡
│ B) Batch Ymodem │
│ Z) Zmodem │
│ K) Super Kermit │
│ W) WXmodem │
│ Your choice ? _ │
╘════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒ Select a Protocol for the File Transfer. [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
75
If you have installed the protocols that come with Qmodem, your window will look
like the previous example. If you have not installed any external protocols,
the window will look like this:
╔══════════════════════════════════════════════════╗
╒═[ Upload Protocols ]═══╕
│ A) Ascii │
│ X) Xmodem │
│ C) Xmodem CRC │
│ R) Relaxed Xmodem │
│ Y) Ymodem │
│ I) Imodem │
│ G) Ymodem-G │
│ Your choice ? _ │
╘════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒ Select a Protocol for the File Transfer. [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
There is a third possibility. If in Qinstall, in the Runtime Setup #1 screen,
you have specified CTS = "N", then the options "I" and "G" will also be blank.
Imodem and Ymodem-G require that CTS flow control be used.
Ok, you now have a list of protocols on your screen. What now??
Select the protocol that both you and the host have agreed upon and press the
appropriate letter. For example, press the letter "X" for Xmodem. 99% of all
BBS systems accept the Xmodem protocol.
Now the protocol window will disappear and two more windows will pop onto the
screen. The actual transfer window, and the Upload File Allocation window.
╔══════════════════════════════════════════════════╗
╒═[ Upload Files (transmit) ]═════════════════════╕
╒═[ Upload File Allocation ]═══════════════════════════════════════════════════╕
│ │
│ > C:\ │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
│ │
│ │
│ │
│ │
╘═════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
76 Qmodem Operations Manual
Because you are uploading, you will be prompted for a filename to send to the
other computer. New with version 3.1 and above is Qmodem's ability to extract
the last filename shown on the screen before the PGUP or PGDN key was pressed.
Qmodem looks right to left, bottom to top for the last filename on the screen.
A valid filename begins and ends with a space or semicolon and has a suffix of
two or three characters. The left or right margin is considered to be a space
also. Here are some examples of filenames:
THISFILE.TXT valid
README.1 invalid (not enough chars in suffix)
QMDMSST.ARC valid
Enter that filename in the Allocation window if Qmodem did not put one in there
for you. The actual transfer will then take place. Be patient as it takes a
few seconds to get started.
Now lets look at each protocol in depth. Because the protocols listed here are
the same as for the PgDn (Download), they will only be discussed once.
ASCII PROTOCOL
When you select ASCII for the transfer method, be aware that line noise could
make that nice looking documentation look funny on the other end.
After you have selected a file to upload, Qmodem will prompt you for the
transfer option to be used. The list of options are:
1) Prompted
2) Time delay
3) No delay.
Each one has its advantages and disadvantages depending on what kind of computer
you are talking to. "Prompted" asks you for the character to look for before
sending a line of data. The prompt character cannot be a [SPACE]. "Time delay"
asks you to enter a number in hundredths of a second to wait before sending a
line of data. "No delay" is exactly that, send as fast as possible until it is
all sent.
When ASCII mode is selected, XON/XOFF flow control is also in effect. At any
time during the transfer, pressing the PgUp key will terminate the transfer.
Here is what the actual ASCII upload screen will look like:
╔══════════════════════════════════════════════════╗
Added and/or fixed in the 04-07-87 version of Beta30
Fixed a bug in the Scrip
═══════════ Outgoing Text ════════ Incoming Text ═════════
77
Added and/or fixed in the 04-07-87 version of Beta30
Fixed a bug in the Scrip
╚══════════════════════════════════════════════════╝
As the text is sent out, it appears in the lower window. If the other computer
is echoing your text, it will appear in the top window.
XMODEM PROTOCOL
There are two methods currently used in public domain to compute the validity of
data sent via XMODEM. The first method is called checksum. In checksum, the
data block has all of the bytes added together and is then ANDed with hex 'FF'.
While checksum is a pretty reliable method of insuring that the file you sent
is correct, errors can creep in. The rate of error detection is somewhere near
99.6%.
The actual transfer of all protocols except ASCII will look like this:
╔══════════════════════════════════════════════════╗
╒═[ Upload Files (transmit) ]═════════════════════╕
│ │
│ Press [PgUp] to terminate transfer │
│ Transmit time : 00:00:27 │
│ Time remaining : 00:00:27 │
│ Blocks to send : 312 │
│ Sending block : 1 Average CPS : │
│ Current errors : 0 Efficiency : │
│ Total errors : 0 │
│ │
╘═════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Uploading C:\QMODEM.COM ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
The Transmit time is the estimated time (not counting errors) to transfer the
file.
The Time remaining is calculated the same as the transmit time but for the
remaining blocks to be sent.
Blocks to send is the total number of blocks in the file.
Sending block tells you where you are in the transfer.
78 Qmodem Operations Manual
Current errors is the total errors for the current block. If this counter
reaches 10, the transfer is aborted. As soon as the block is successfully sent,
this counter is set back to 0.
Total errors is the total number of errors for the entire transfer.
Average CPS is a measurement of how fast the transfer is. CPS stands for
Characters Per Second. If you multiply the CPS by 10, you get the average baud
rate for the transfer.
Efficiency tells you how close to the actual serial port baud rate the transfer
is.
XMODEM CRC
The second method of error checking is called CRC, short for Cyclic Redundancy
Checking. This method has an error detection rate of 99.9969%. Check with
your local board to find out if Xmodem CRC is available. Qmodem is intelligent
enough to figure out which is being sent when you download. If you select the
wrong one, Qmodem will make sure you get it right.
RELAXED XMODEM
Relaxed Xmodem is nothing more than regular Xmodem, except the timing has been
relaxed by a factor of 10. In other words, it takes ten times longer for the
error condition to be generated. CompuServe users will appreciate this. In
fact, it was because of the way CompuServe handles (or fails to handle) Xmodem
that this was added.
IMODEM
The Imodem protocol was created by us. It was the first protocol to take
advantage of modems that have internal error correction. A good example would
be MNP from Microcom. MNP protocol can be implemented on the hardware level
usually inside your modem. When two modems connect using MNP, the modems do all
the checking and retransmission necessary for a clean exchange.
You might ask yourself, "How does Qmodem take advantage of MNP?"
The modems are always verifying the data so there ARE no errors in the transfer.
Imodem is a block oriented transfer method that uses no ACK or NAK in the Xmodem
sense. Every block that goes out is guaranteed to get there the way it was
sent. So, Imodem does not wait for the other computer to say if the block was
correct or not, that is handled by the modems in REAL time.
"But why does CTS have to be used?"
79
In our experiences with MNP in the modems, the CTS signal is used to temporarily
halt the flow to the modem when an error occurs. If they didn't, Qmodem would
overflow the modem and lost data would result.
"What are the advantages of Imodem?"
Imodem showed an impressive 115 blocks a minute at 2400 baud. To put that in
perspective, normal Xmodem (or Xmodem CRC) could only get about 88 blocks a
minute at 2400 baud. Remember, to use Imodem, the modems must have an internal
protocol and CTS checking must be turned on.
YMODEM
Ymodem is a modified version of Xmodem CRC. It allows sending 1024 byte blocks
as opposed to Xmodem's 128 byte blocks. With this release of Qmodem, the Ymodem
code has been modified to handle the variation of 1K Xmodem blocks used by a
small number of programs. This is transparent to the end user.
YMODEM-G
Ymodem-G is a combination of Ymodem and Imodem. Ymodem block specifications
apply and Imodem Error checking is used. This means that the modems must have
an internal method of error checking and the CTS signal must be used.
Do not use Ymodem-G or Imodem if you do not have such a modem! It will only
cause frustration for you and me.
EXTERNAL PROTOCOLS
External protocols work a little different. Qmodem invokes another program to
do the actual file transfer. If you got the complete set of Qmodem files, there
was an EXTERNAL.ARC file that contained a set of BAT files and transfer programs
to get you started. Kermit, WXModem, Zmodem and Ymodem Batch are included.
Because Qmodem has no control over the external program while it is doing the
file transfer, the screen will clear and the external program is in full
control. When the transfer has completed, you will be right back in Qmodem
where you left off.
For more information on External Protocols, see the Qinstall Section.
PgDn DOWNLOAD A FILE.
Download uses the same protocols as Upload and the descriptions will not be
repeated. There are some differences in the windows and we will go over these
now.
80 Qmodem Operations Manual
The Protocol window is slightly different:
╔══════════════════════════════════════════════════╗
╒═[ Download Protocols ]═╕
│ Free Space 2467840 │
│ A) Ascii │
│ X) Xmodem │
│ C) Xmodem CRC │
│ R) Relaxed Xmodem │
│ Y) Ymodem │
│ I) Imodem │
│ G) Ymodem-G │
╞══════[ External ]══════╡
│ B) Batch Ymodem │
│ Z) Zmodem │
│ K) Super Kermit │
│ W) WXmodem │
│ Your choice ? _ │
╘════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒ Select a Protocol for the File Transfer. [Esc] to Exit ▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
At the top of the window, you will see the amount of free space on the drive you
have designated as your download drive. The rest of the window is the same as
Upload.
Below, the protocols are described if there is a difference from the Upload
counterpart.
ASCII
The screen will clear and you will be told that pressing the PgDn key will
terminate the transfer and save the file. If you start the transfer, but no
data has been received, Qmodem will pretend as if no file was ever sent.
81
XMODEM
The following is a snapshot of the Download window in action:
╔══════════════════════════════════════════════════╗
╒═[ Download File (receive) ]══════════════════════════╕
│Press [PgDn] to abort. │
│Total Blocks received : 64 Bytes/Blk : 1029 │
│-- Long Block errors : 0 Tot. Bytes: 65536 │
│-- Short Block errors : 0 │
│-- SOH errors : 0 Average CPS : 963 │
│-- Complement errors : 0 Efficiency : 50.2% │
│-- Block number errors : 0 │
│-- Timeout errors : 0 │
│-- Resend Block errors : 0 │
│-- Checksum errors : 0 │
│-- Last error message : │
╘════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Downloading C:\DL\TESTFILE ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
All types of errors are kept track of. When the transfer starts, the download
window clears and a list of all of the errors are displayed. Total blocks
received is displayed at the top. The last line of the window shows the most
recent error message and at which block it occurred.
If you receive ten errors in a row, Qmodem will cancel the transfer. As soon as
one block of data is received successfully, the error count is set to zero.
Qmodem tries to recover from all data errors. You will note too the speed of
which Qmodem can recover.
The Total Bytes counter shows you how much data (in bytes) has been received so
far. This is a visual aid to help you judge how much longer the file transfer
will take.
ERRORS DETECTED
Now a brief description of the errors that can be detected during a transfer.
Qmodem keeps track of each type separately.
1) Long block error - Caused usually by line noise and this creates
extra characters in the transmission.
2) Short block error - if the line is weak or you are recovering from a
previous error, this can result. It means that Qmodem did not receive
enough characters to complete the data block.
82 Qmodem Operations Manual
3) SOH error - The first character of every Xmodem block is the SOH
character (01 HEX). If the first character is not an SOH, Qmodem
flags the block as bad. Chances are that if the first byte is bad, so
are a few others due to the fact that line noise usually lasts long
enough to corrupt more that one byte.
4) Complement error - The data block had two bytes in the header to hold
the block number that is being transmitted/received. The second of
these two is the complement of the first (first byte XOR 255). This
ensures that Qmodem is getting the correct block.
5) Block # error - This is usually caused by line noise too. The
transmitting computer received a NAK in place of the ACK Qmodem sent
and resends the block you just received successfully. Essentially,
Qmodem ignores the block and sends another ACK.
6) Checksum/CRC error - Every block of data in Xmodem is followed by
either a Checksum byte or by 2 CRC bytes. CRC is a more accurate
method of error detection, but requires one more byte to be sent in
every block. If the Checksum or CRC is wrong, Qmodem sends a NAK and
discards the data. Again, line noise is usually the culprit.
This might be an appropriate place to mention that if you have "Call Waiting"
with your phone service and someone calls you while you are doing an
Upload/Download, you stand a chance of getting errors. This may even terminate
the transfer depending on the noise generated. Be forewarned!
UP-ARROW SCROLL BACK.
By pressing the Up-Arrow, you can scroll back through the previous lines of data
that have come in. Here is what the screen might look like:
╔══════════════════════════════════════════════════╗
ati4
USRobotics Courier 9600 HST Settings....
C=1 E=1 F=1 M=1 Q=0 V=1 X=4 B=1
BAUD=19200 PARITY=N WORDLEN=8
DIAL=TONE ON HOOK TIMER
&A1 &B1 &G0 &H1 &I0 &M4
&N0 &P0 &R2 &S1 &Y1
S00=000 S01=000 S02=043 S03=013
S04=010 S05=008 S06=002 S07=060
S08=002 S09=006 S10=007 S11=060
S12=050 S13=000 S14=000 S15=000
S16=000 S17=000 S18=000 S19=000
S20=000 S21=010 S22=017 S23=019
OK
83
Bottom of Scroll
▒▒ Scroll ▒ PgUp Home ▒▒▒ [Alt-C] - Clear Buffer ▒▒▒ Bytes Queued = 0 ▒▒▒▒▒▒▒
▒▒ Region ▒ PgDn End ▒▒▒ [Alt-S] - Save to Disk ▒▒▒ [Esc] - Quit ▒▒▒▒▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
Pressing the [Esc] will exit scroll back mode. This should be pretty much self
explanatory. When you reach the top of the scroll, you get the message:
Top of Scroll
When you are at the bottom :
Bottom of Scroll
The scroll-back buffer is dynamically allocated so you can store thousands of
lines. Qinstall has the capability to set Qmodem's Heap/Stack space for just
this purpose. Qmodem comes configured with the minimum setting of 48K.
The memory left over not used by the scroll-back buffer is used for the ALT-R
DOS shell, the ALT-V View File and the External Protocols for file transfers.
If you over allocate the scroll-back memory, these may not work properly.
Experimentation is the only way to find a happy medium.
CTRL-HOME CAPTURE TO DISK.
Pressing Ctrl-Home open a window and ask you to verify the file to be used to
"Capture" data to. You can change the file to be used by back spacing over the
current filename and entering a new one. If it is a new file, Qmodem will ask
you if it should create the file. Enter a "Y" to do so, or "N" to re-enter the
filename. Pressing ESC will abort the Capture and return you to Qmodem Ready
mode.
╔══════════════════════════════════════════════════╗
╒═[ Capture File Allocation ]══════════════════════════════════════════════════╕
│ │
│ > C:\MAIL\GEMAIL │
│ │
╘══════════════════════════════════════════════════════════════════════════════╛
▒▒▒▒▒▒▒▒▒ Enter/Edit Filename, [INS] to search Screen -or- [Esc] to Exit ▒▒▒▒▒▒▒
╚══════════════════════════════════════════════════╝
If you do start capturing to disk, Qmodem will put a message on the screen
telling you it is working.
84 Qmodem Operations Manual
To close the capture file, you hit the Ctrl-Home again. Qmodem will close the
file on disk and put a message on the screen telling you the Capture is OFF.
85
CTRL-END SENDING A TRUE BREAK.
If your modem is capable of sending a true BREAK signal, you would use Ctrl-End
to send it. A true BREAK signal lasts for 1.5 seconds and is used to notify the
other computer that you want to interrupt whatever it is doing. The online
service GEnie can use the BREAK signal like you would use the ^C to stop some of
your programs on the PC.
Pressing Ctrl-End put a message out on the screen that says:
* <BREAK>
CTRL-PRTSC COPYING TO THE PRINTER.
If you have a printer hooked up, and would like the text on your screen to echo
to the printer, press Ctrl-PrtSc. Then, everything that comes across the line
will go to the printer.
This is a toggle, so to turn the copy off, press Ctrl-PrtSc again.
Be SURE you have a printer hooked up and turned on before turning this on. If
you don't, you will get a DOS "Abort, Retry or Ignore" error message.
SHIFT-TAB ADD LINEFEEDS TO CARRIAGE RETURNS.
This is a toggle to add a Linefeed (LF) to a lone Carriage Return (CR). You can
tell when you need to turn this on by seeing lines write over each other on the
screen.
╔══════════════════════════════════════════════════╗
╒═[Status]════╕
│ Add LF OFF │
╘═════════════╛
╚══════════════════════════════════════════════════╝
ALT-1 BACKSPACE <-> DEL TOGGLE.
This controls the character sent when the backspace (BS) or CTRL-H (^H) key is
pressed. The ^H and the BS key are treated the same in Qmodem. The BS normally
sends a ^H (ASCII 8) when pressed. If you are using a terminal emulation such
as VT100, you may want the BS to send a DEL (ASCII 127) when pressed. This
toggles the state back and forth between BS and DEL.
Whichever mode is active for the BS key (BS or DEL), by pressing ^BS (holding
the CTRL key down and pressing BS) will send the opposite code.
86 Qmodem Operations Manual
For example:
You have the BS key set in BS mode. By pressing ^BS, Qmodem will send the
DEL code.
In the Status Line at the bottom of the screen, the BS <-> DEL indicator is the
first one in the Toggles area. When is normal BS = BS mode, the indicator shows
"Left Arrow = Left Arrow". When it is in the BS = DEL mode, the indicator shows
"Left Arrow = DEL Symbol".
ALT-2, ALT-3, ALT-4, ALT-5 & ALT-6 EGA SCREEN MODES.
Qmodem supports 5 different screen modes when using an EGA adapter. Now you can
have more lines on your screen at the touch of a key.
ALT-2 - 80 x 25 This is the standard mode
ALT-3 - 80 x 35
ALT-4 - 80 x 43 Others brag about 43 lines on the screen...
ALT-5 - 80 x 50 A bit fuzzy, but twice the screen.
ALT-6 - 80 x 57 An incredibly small, but readable 57 lines!
Some commands can take advantage of the larger screens; the Help Screen from the
Main Menu, the Disk Directory (Alt-W), the Split Screen mode (Alt-S) and the
Scroll Back display (Up Arrow).
ALT-8 HI BIT STRIPPING TOGGLE.
This is used to strip the hi bits from incoming data when using mini or
mainframe systems such as CompuServe or the Source.
The symptom is when you are online to these systems, some of the data coming in
looks like garbage characters. What you are really seeing is the correct data,
but the parity bit is causing the PC to display the graphics characters above
ASCII 127. To view this correctly, you need to strip the hi bits before they
get displayed.
Qmodem comes up in 8 bit mode by default, but this can be changed with a Script
command to automate it when calling Compuserve. The Status Line will either
show an 8 or a 7 in the Toggles area depending on the current mode.
If you use Qmodem to call BBS's that use the fancy graphics characters and ANSI
escape codes, make sure you are in 8 bit mode. Otherwise, the graphics will be
converted to alphanumerics and will not look right.
ALT-0 LOG FILE TOGGLE.
87
The LOG feature is used to track the usage of Qmodem. Who you called, when you
called, how long you were online are just a few of the things in the LOG file.
The Log has a Time and Date stamp for every entry.
ALT-0 is a toggle. If the Log is closed, you are prompted for a filename and it
opens. If it's already open, then it will be closed.
To give you a feel for what the Log does, here is a sample:
23:24:17 04/04/87 Qmodem Log File Created.
23:24:18 04/04/87 Qmodem Log File Opened.
23:25:08 04/04/87 Connected With : TC Colossus
23:25:08 04/04/87 ++ Phone Number : 339-4216
23:25:08 04/04/87 ++ COM Speed : 19200-8-N-1
23:25:09 04/04/87 Online Timer Started.
23:25:27 04/04/87 Hangup Command entered.
23:25:29 04/04/87 Elapsed Online 00:00:20
23:26:00 04/04/87 Connected With : Terrapin Station
23:26:00 04/04/87 ++ Phone Number : 623-0307
23:26:00 04/04/87 ++ COM Speed : 19200-8-N-1
23:26:01 04/04/87 Online Timer Started.
23:36:58 04/04/87 Elapsed Online 00:10:56
23:39:42 04/04/87 Connected With : TCS-PCBoard for Net Mail
23:39:42 04/04/87 ++ Phone Number : 1-415-837-4610
23:39:42 04/04/87 ++ COM Speed : 19200-8-N-1
23:39:45 04/04/87 Online Timer Started.
23:45:01 04/04/87 Elapsed Online 00:05:15
00:45:35 04/06/87 Connected With : LANS BBS - Stults
00:45:35 04/06/87 ++ Phone Number : 1-219-884-9508
00:45:35 04/06/87 ++ COM Speed : 19200-8-N-1
00:45:35 04/06/87 Online Timer Started.
00:54:57 04/06/87 Directory changed to C:\DL
00:55:10 04/06/87 Download Filename qvt.arc
00:55:10 04/06/87 ++ Using Imodem protocol.
00:56:17 04/06/87 ++ Long block errors : 0
00:56:17 04/06/87 ++ Short block errors : 0
00:56:17 04/06/87 ++ SOH errors : 0
00:56:17 04/06/87 ++ Complement errors : 0
00:56:17 04/06/87 ++ Block number errors : 0
00:56:17 04/06/87 ++ Time Out errors : 0
00:56:17 04/06/87 ++ Resend Block errors : 0
00:56:17 04/06/87 ++ Checksum errors : 0
00:56:17 04/06/87 ++ Chars Per Second : 961
00:56:17 04/06/87 ++ Effective Percent : 50.1
01:03:41 04/06/87 Elapsed Online 00:18:05
Some Log entries take up more than one line. As in the example, any entry that
begins with "++" means it is a continuation of the previous entry. As in the
case of a download or upload, there are several "++" entries to give you
complete statistics.
Here is a complete listing of all possible Log entries (minus the time and date
stamps) :
88 Qmodem Operations Manual
Key Log entry
----- ------------------------------------------
[user] STAMP; [stamp message from Fkey or Script]
[auto] Online Timer Started.
[auto] Elapsed Online xx:xx:xx (military format)
ALT-0 Qmodem Log File Closed.
Qmodem Log File Created.
Qmodem Log File Opened.
ALT-D Connected With : [Board Name]
++ Phone Number : [Board Number]
++ COM Speed : [Speed-Parity-Databits-Stopbits]
ALT-H Hangup Command entered.
ALT-K COM Port [PortNumber] selected. (1..8)
ALT-J New KEY file [KeyFileName].
ALT-L Default Drive now [DriveLetter]: (A..Z)
ALT-O Directory changed to [DirectoryPath]
ALT-R Dropping to DOS.
++ Drop to DOS Failed.
ALT-X Exiting QMODEM.
ALT-Y File [Filename] DELETED.
PgDn Download Filename [Filename]
++ Using Ymodem-G protocol.
++ Using Imodem protocol.
++ Using Xmodem CRC protocol.
++ Using Xmodem protocol.
++ Using Ymodem protocol.
++ Using ASCII protocol.
++ Long block errors : [Number]
++ Short block errors : [Number]
++ SOH errors : [Number]
++ Complement errors : [Number]
++ Block number errors : [Number]
++ Time Out errors : [Number]
++ Resend Block errors : [Number]
++ Checksum errors : [Number]
++ Chars Per Second : [Number]
++ Effective Percent : [Number]
++ Download Aborted.
Download Executing [BatchFileName].
++ External Batch Failure.
89
PgUp Uploading File [filename]
++ Chars Per Second : [number]
++ Effective Percent : [number]
++ Upload Aborted.
++ Using Ymodem-G protocol.
++ Using Imodem protocol.
++ Using Xmodem CRC protocol.
++ Using Xmodem protocol.
++ Using Ymodem protocol.
++ Using ASCII protocol.
++ Transfer Successful.
Executing External Upload Batch [BatchFileName]
++ External Batch Failure.
^End BREAK signal sent.
The entry marked [user] will vary with the STAMP command used in FKeys and the
Script language. Both will begin with the word STAMP and are followed with user
supplied text.
The following two entries marked [auto] are done when Qmodem changes from
offline to online and vice versa.
All the rest of the entries are related to a command as listed in the left
column.
Because Logging can be turned on automatically, (see Qinstall) you can now keep
a perfect record of all your long distance calls! Many other important
functions of operation can also be tracked.
90 Qmodem Operations Manual
SCRIPT LANGUAGE.
Scripts are very flexible. You'll find ways to use them that aren't described
here. But conceptually, there are four types of scripts:
1. Linked scripts, which run automatically when you select a numbered
entry from the Qmodem phone directory. The same script can be linked
to more than one entry. Typically, this type of script ends when
logon is completed successfully. Then YOU take control. Examples:
You have two different local Uninet phone numbers in your Qmodem phone
directory. The script SOURCE-U.LOG can be linked to both numbers for
auto-logon to The Source.
You have three different RBBS systems in your Qmodem phone directory.
Your password is the same for all three. A single script like
RBBS.LOG can be linked to all three numbers.
2. Scripts with parameters, which you start by typing the ALT-F key
combination. These scripts can be simple or complex, and they may
optionally include up to ten parameters (variables) that you specify
after you type ALT-F.
3. Scripts that you have linked to the Function Keys. These also can
have parameters attached to them. Because they are stored in a
Function Key Macro file, you never have to re-enter the parameters
every time you run the Script.
4. The last type of Script is the type that needs no parameters. This is
a "stand alone" Script. It can be executed from the command line when
you start Qmodem.
Example: You want to execute Script DOFIRST.SCR when starting Qmodem.
The command line would be:
C>QMODEM /S=DOFIRST.SCR<cr>
When Qmodem would normally tell you its "Ready", it will begin
executing the Script. This could be coded in a BATCH file so you do
not have to type the command line in every time.
LINKING A SCRIPT TO PHONE DIRECTORY ENTRIES.
You can link a script to each of the phone directory entries to automate your
logons. Here's how to do it:
Type ALT-D to view the directory.
Type R (Revise) to link a script to a new or old entry.
Type in the number you want to change and press [ENTER].
91
Press [ENTER] until you get to the "New Script File" prompt.
Type in a SCRIPT NAME (FILENAME.EXT) at the prompt.
Press [ENTER] at all the remaining prompts until the window disappears.
There! Now the phone book entry has been updated both in memory and on disk.
Be sure that the Script file is in the directory you entered in Qinstall.
PHONE NUMBERS AND COMMUNICATION PARAMETERS IN SCRIPTS.
A script which is linked to a phone book entry must NOT include a DIAL command.
When using ALT-D to dial, the Script attached to the entry would start to
execute after a connection has been made. It would make no sense to do a DIAL
command when you are already online!
A SETCOMM Script command is also unnecessary. The linked script is run after
the parameters are set from the phone book, the phone number in the directory
entry is dialed, and a connection is completed.
A stand-alone script usually needs a DIAL "N" or DIAL "N N" command, where each
"N" is a directory entry number. "N" determines the communication parameters
and dials the specified entry or entries until connected. If a script is linked
to the dial entry "N", it will be ignored and the main script will have control
when connected. If you use a SEND command to 'manually' dial the modem (ie.
SEND "ATDT 555-1212"), you must WAITFOR "CONNECT" from the modem before you send
other commands, and you must use SETCOMM to set your communication parameters
before the DIAL command.
HOW TO CREATE AND NAME A SCRIPT FILE.
Just use your favorite word processor or text editor to create a script. You may
save it using any FILENAME.EXT you wish. For scripts that include a phone
number, we recommend filenames that end with the extension ".SCR". For scripts
that do not include a phone number (linked scripts), we recommend filenames that
end with the extension ".LOG". These naming conventions will help you keep
track of your scripts.
You MUST save your scripts as plain-text ASCII files. Non-ASCII files like
those produced by WordStar's D or Document mode won't work (for WordStar, use N
at the opening prompt to create scripts in the Non-document mode). If your
favorite editor doesn't have an ASCII save option, you can use the built-in DOS
utility EDLIN.
My favorite method of creating a script is with SideKick. Then, when I connect
with the new board, I use SideKick's Notepad and import portions of the screen
to build the script on-the-fly. Another easy way to create the scripts, is to
turn on Capture-to-Disk (Ctrl-Home) and save the normal logon. Then go back and
edit the file to do the logon next time you call!
92 Qmodem Operations Manual
RUNNING A SCRIPT THAT INCLUDES A PHONE NUMBER
OR A LINK TO A QMODEM PHONE DIRECTORY ENTRY NUMBER.
Once you've created a script, there are two ways to run it. The first method
involves the ALT-F (Script Execution) command. The second method is by using
the F-Keys.
USING THE ALT-F COMMAND.
First you'll be asked for a script name. Enter it, including the extension
(FILENAME.EXT), then you'll be asked for parameters (if any). At first, you
probably won't use parameters, so press the [ENTER] key. At that point, the
script file takes control -- until the command EXIT is reached in the script.
USING AN F-KEY.
The second method is by using the SCRIPT keyword in a function key definition.
This would be used if you have a common script to execute and you do not need to
enter parameters every time it's executed. Here's how to do it:
Press ALT-J and select a function key group. (say 1 for normal)
Select the key to execute the script. (say 1 for F1)
[In this example, we will execute the script DAILY.SCR]
Enter "SCRIPT DAILY.SCR" (without the quotes) and press [ENTER]
Press [Esc] twice to get back to command mode.
That's it! Now, when you press the F1 key, the script DAILY.SCR will execute.
Make sure that the script exists in the directory you entered in Qinstall.
If your script includes a dialing command, with one or more of your Qmodem phone
number directory entry numbers (ie. DIAL "1" or DIAL "1, 5, 6"), the script
will automatically dial/re-dial the number(s) until connected, then continue
processing the script. For security, you can specify your private logon
password associated with the script at run time, as a parameter (described
later), rather than including it in the script itself.
STOPPING A SCRIPT.
You can stop a script at any time by pressing the ESC key. When you do, you'll
be asked if you wish to halt the script. Touch Y to stop or N to continue. If N
was selected, the script will pick up where it left off.
93
EXECUTING LINKED SCRIPTS.
Once you've created a linked script, you can use the ALT-D command to link it to
at least one Qmodem directory entry. Each directory entry has the option to
include a script name. You will be asked for the name of a script whenever you
add a new entry to your dialing directory. For old entries in the directory,
use the R (Revise) command to add the script name.
When prompted for a SCRIPT NAME, specify your .LOG file. The next time you dial
that directory entry number with the ALT-D command, the linked script will be
run after a connection.
Note: Parameters are not available for use with scripts that are linked to
dialing directory entries.
SPECIAL CHARACTERS IN SCRIPTS.
The characters { and ~ have special meanings in scripts. Because of this, these
characters cannot be sent to the modem.
"{" is used in place of a CR or [ENTER] key.
"~" causes a delay of 1/2 second.
To insert CTRL characters in your scripts, prefix the letter with the carat
character "^". Here is a list of all valid ctrl characters:
╔ D H Ctrl Mem ╗ ╔ D H Ctrl Mem ╗
║ 1 01 ^A SOH ║ ║ 16 10 ^P DLE ║
║ 2 02 ^B STX ║ ║ 17 11 ^Q DC1 ║
║ 3 03 ^C ETX ║ ║ 18 12 ^R DC2 ║
║ 4 04 ^D EOT ║ ║ 19 13 ^S DC3 ║
║ 5 05 ^E ENQ ║ ║ 20 14 ^T DC4 ║
║ 6 06 ^F ACK ║ ║ 21 15 ^U NAK ║
║ 7 07 ^G BEL ║ ║ 22 16 ^V SYN ║
║ 8 08 ^H BS ║ ║ 23 17 ^W ETB ║
║ 9 09 ^I HT ║ ║ 24 18 ^X CAN ║
║ 10 0A ^J LF ║ ║ 25 19 ^Y EM ║
║ 11 0B ^K VT ║ ║ 26 1A ^Z SUB ║
║ 12 0C ^L FF ║ ║ 27 1B ^[ ESC ║
║ 13 0D ^M CR ║ ║ 28 1C ^\ FS ║
║ 14 0E ^N SO ║ ║ 29 1D ^] GS ║
║ 15 0F ^O SI ║ ║ 30 1E ^^ RS ║
╚════════════════╝ ║ 31 1F ^_ US ║
╚════════════════╝
94 Qmodem Operations Manual
BASIC SCRIPTING COMMANDS.
When you write scripts, include informative comments. Lines that start with a
period are treated as comments and do not display. Blank lines are OK too and
will help make your scripts easier to understand and edit.
With all script commands, all characters are valid. Upper or lower case makes
no difference:
This_is_a_very_long_label: A very long label
This_is_not: A short one
and
THIS_LABEL: is the same as ThIs_LaBeL:
Some script commands have several parameters; if they are enclosed in square
brackets ([]), they are optional. Parameters that use quote marks (" ") or ('
') should be included; thus the DIAL command would be as follows:
DIAL "1"
or
DIAL '1 2 3 4'
are valid. Do not mix the two together unless you want to embed one inside the
other. To send the following message
John said, "Qmodem is the BEST!"
you would use the following command
SEND 'John said, "Qmodem is the BEST!"'
The quotes can be switched to send the other. So to send the following message
John's password is QMODEM
you would use
SEND "John's password is QMODEM"
Labels are used as the targets for GOTO and GOSUB commands. All labels must end
with a colon. Below are some examples:
EXIT_LABEL:
A:
A_LONG_LABEL:
A_much_longer_label_than_the_others:
95
All labels must appear on a line by themselves. Comments are allowed, but no
other script commands.
Comments can appear after all script commands. The semicolon ";" or the period
"." denotes the beginning of a comment. Here are some samples:
. A dot as the first character is always a comment
WAITFOR "Enter your password :" .This is a comment
SEND "$Password{" ;another comment line
PASSWORD1: ;a comment after a label
There are 10 pre-defined String variables, $0..$9 which may be set and used
instead of quoted strings. There is a maximum length of 64 character for all
string variables. These can be set with the ASSIGN, GET, GETR, GETN, GETNR and
GETX commands:
ASSIGN 0 "This is a test"
would make $0 equal to
This is a test
Because the string variables are substituted before the line gets executed, the
leading $ in the above example must be omitted. It is assumed in an ASSIGN
command that the first word is a string variable. Using this knowledge, the
following is possible:
ASSIGN 0 "Qmodem is the Best!" ;$0 becomes the quoted string
ASSIGN 1 $0 ;$1 is set to $0
SEND "$1" ;the string $1 is sent
would send the following string:
Qmodem is the Best!
Variables can actually become a different command with the use of the ASSIGN
command. Here is an example:
ASSIGN 0 "WAITFOR " ;$0 = WAITFOR[space]
$0 "Password "
would be interpreted the same as
WAITFOR "Password "
If you want to send a $ in a text string, use two of them together as follows:
SEND "This is a dollar sign : $$"
would send the following
This is a dollar sign : $
96 Qmodem Operations Manual
So you can see just how powerful the string variables can be! Now lets take a
look at each script command in alphabetical order with some examples.
First, lets go over the defined string variables besides $0 .. $9. These cannot
be the targets of an ASSIGN or any variation of the GET commands.
$DATE is the current system date based on the internal clock of the PC. It
returns a string 8 characters in length and in the format MM/DD/YY.
SEND "$DATE"
would send something like
04/15/87
$TIME is the current system time based on the internal clock. It also returns a
string 8 characters in length and is in the format of HH:MM:SS and uses the 24
hour clock (same as military clock).
SEND "The time is $TIME"
would send something like
The time is 13:13:29
The following defined strings contain the last connected boards information as
noted. There must have been a valid connection using the Dial/Redial screen
either through the DIAL command or a linked script.
$BOARD contains the name listing specified in the dialing directory. This is a
variable length string but will not exceed 34 characters.
DIAL "1" ;dial the first phone book entry
NOTE Connected to $BOARD! ;display a connect msg
might display the following on your screen:
Connected to The Forbin Project PCBoard!
$NUMBER contains the phone number as listed in the dialing directory for the
number that was connected to.
NOTE Connected to $BOARD at $NUMBER.
might display
Connected to The Forbin Project PCBoard at 1-319-233-6157.
97
$PASSWORD contains the password as stored in the dialing directory. You could
use this variable in a generic linked script for BBS' of the same kind. Lets
call the following script PCBOARD.SCR.
NOTE Connected to $BOARD ;display after connection
WAITFOR "Graphics" ;wait for first prompt
SEND "N{" ;send a "N[ENTER]"
WAITFOR "First name" ;wait for the name prompt
SEND "FIRST;LAST{" ;send your name
WAITFOR "Password" ;wait for password prompt
SEND "$PASSWORD{" ;send the linked password
$SCRIPT contains the name of the linked script for the dialing entry. Using the
above example, we could add another line as follows:
NOTE This is script $SCRIPT
and this would display the following:
This is script PCBOARD.SCR
$PROTOCOL holds the default protocol you assigned for the entry. It could be
used when you go to execute a download or upload file script to the board. Here
is an example download command:
SEND "D FILENAME.ARC $PROTOCOL{"
WAITFOR "[ctrl-X] to abort"
DOWNLOAD FILENAME.ARC $PROTOCOL
$SPEED contains the current baud rate after the connection. This is set by the
redialer before each number is tried.
NOTE Connected at $SPEED this time
may show
Connected at 2400 this time
$COM contains the rest of the communication parameters. It is in the form of
DATABITS-PARITY-STOPBITS.
NOTE Connected with $SPEED-$COM
would produce something like
Connected with 2400-8-N-1
The STRING command lets you define your own string variables. They can be used
just like the $0..$9 variables, but you can give them intelligible names. You
98 Qmodem Operations Manual
are allowed to define up to 20 unique names and they cannot be any of the
defined variables. Here are some examples:
STRING Transfer_Type Filename User_Prompt
STRING UserID Access_Code
WRITE "Enter your UserID ? " ;prompt for userid
GET UserID 12 ;get 12 chars in UserID
WRITE "Enter the Access code ? " ;prompt for access code
GET Access_Code 25 ;get 25 chars
NOTE $UserID is using $Access_Code ;display it
might look like the following
Enter your UserID ? RX35988
Enter the Access code ? QMODEM
RX35988 is using QMODEM
COMMANDS.
Following is the complete list of commands in the script language. Take the
time to type in the examples and try them out. The more you use them the easier
it gets!
ASSIGN variable "string"
This command assigns the contents of "text string" to the variable. The
variable is not prefixed with a "$" to keep it from being parsed before
execution.
Examples:
ASSIGN 0 TEST ;sets $0 to the string "TEST"
ASSIGN 0 "Test string" ;sets $0 to the string "Test string"
ASSIGN 0 $1 ;sets $0 to equal $1
If the string contains embedded quote characters, use the opposite quotes to
encase the string or variable.
Examples:
ASSIGN THIS "John's Wife is Kathy"
ASSIGN THAT "$THIS" ;needs quotes because of spaces
;and quote embedded in $THIS
BEEP tone
99
The BEEP command is used to generate a tone of frequency "tone". The tone lasts
for approximately 1/5 of a second. It can be used alone or in groups to make an
alarm sound. The "tone" must be an Integer value.
Examples:
BEEP 1200 ;a 1200 Hz tone
BEEP 1400 ;a 1400 Hz tone
STRING TONE ;define a new variable called TONE
GET TONE 4 ;prompt for the value of TONE
;no check is made for invalid data
BEEP $TONE ;beep at $tone Hz
BOX c1, r1, c2, c2
This command is used to create windows within your script commands. The four
parameters are required and must be of type Integer. The window is positioned
with the upper left corner at column c1 and row r1. The bottom right corner of
the window is at column c2 and row r2. No check is made to see if the numbers
are valid, so make sure that the c2 is greater than c1 and r2 is greater than r1
and that all parameters are somewhere on the local screen. The upper left
corner of the screen is considered to be Col 1, Row 1 and the lower right corner
of the screen is Col 80, Row 24. If you have an EGA adapter, the lower right
corner may vary with the screen dimensions (See ALT-2 through ALT-6).
Examples:
BOX 1,1,80,24 ;opens a window the full size of the screen
BOX 20,4,60,8 ;opens a window 40 cols wide by 4 lines high
BREAK
The BREAK command sends the modem Break signal for 1.5 seconds to the remote
system. This is the same as the CTRL-END command.
Example:
BREAK ;send the Break signal
CAPTURE filename
The CAPTURE command is the same as the CTRL-HOME command in terminal mode. You
would use this to automate the capturing of text data to a disk file. The
"filename" should be a qualified DOS filename. If the file already exists, the
new data will be appended onto the end of the original. If the file does not
exist, it will be created (provided that the subdirectory structure of the hard
disk will permit it).
100 Qmodem Operations Manual
Examples:
CAPTURE C:\QMODEM\TEXT\CAPDATA.DAT ;in a specific subdir
CAPTURE THISFILE.DAT ;in the current subdir
To close the capture file, use the TURNOFF CAPTURE command as follows:
CAPTURE MYDATA.TXT ;open the capture file
... ;
... more script commands ;script commands in between
... ;
TURNOFF CAPTURE ;close the capture file
CHDIR directory
This command is used to change the current drive and/or directory specified by
"directory". This will also change the current logged drive if specified. The
CHDIR command is the same as the ALT-O in terminal mode.
Examples:
CHDIR \ ;change to the root directory
CHDIR C:\QMODEM ;change to C:\QMODEM
or
DISPLAY "Enter the new directory ? " ;a dir prompt
GET NEWDIR 64 ;get in $NEWDIR
CHDIR $NEWDIR ;and do the change
CLRSCR
The CLRSCR command clears the current active window. If you have not used the
WINDOW or BOX commands, then the active window is considered to be the whole
screen.
Examples:
CLRSCR ;clear the screen
BOX 1 1 80 14 ;open a window in upper half of screen
CLRSCR ;clear the area in the window
WINDOW 1 1 80 24 ;define the window as "full screen"
CLRSCR ;clear the whole screen
COLORBG bg
-and-
COLORFG fg
101
These two commands set the Foreground (fg) and Background (bg) colors of
incoming text and text displayed by other script commands. The variables "bg"
and "fg" are of type integer. The "bg" must be in the range of 0-7 and the "fg"
can be in the range 0-31. The color codes used by Qmodem are as follows:
0 Black 8 Dark Gray (8 - 15 are the high
1 Blue 9 Light Blue intensity colors)
2 Green 10 Light Green
3 Cyan 11 Light Cyan (16 - 31 are the same as
4 Red 12 Light Red those on the left with a
5 Magenta 13 Light Magenta BLINK attribute)
6 Brown 14 Yellow
7 Light Gray 15 White
Examples:
COLORBG 0 ;set the background to Black
COLORFG 2 ;set the foreground to Green
Note: The colors remain active in Qmodem after the script has completed.
DEBUG [on/off]
The DEBUG command is very useful in developing complicated scripts. It gives you
the capability to watch your script execute on the screen so you can "see"
what's going on. Scripts are always started with DEBUG turned off.
There are only two modes of Debug operation, ON and OFF.
Examples:
DEBUG ON ;turn debugging on
ASSIGN 0 This_String ;put text into string 0
NOTE This is 0 - $0 ;display it
DEBUG OFF ;turn debugging off now
NOTE This is 0 - $0 ;display it
will produce this on the display
<<ASSIGN 0 This_String >>
<<NOTE This is 0 - $0 >>
This is 0 - THIS_STRING
<<DEBUG OFF >>
This is 0 - THIS_STRING
DECR variable
102 Qmodem Operations Manual
The DECR command is used to decrement the value of the string variable. If the
variable is non numeric or not greater than zero, an error will occur. See also
the INCR command.
Example:
ASSIGN 0 10 ; load $0 with 10
LOOP: ; a place to loop to...
DISPLAY "$0" ; display the value
DECR 0 ; decrement $0 by 1
IF "$0" = "0" DONE ; if it is equal to 10 goto DONE
GOTO LOOP ;
DELAY milliseconds
The DELAY command is used to pause a script. This is very similar to the PAUSE
command, but no characters are displayed. You might want to use this when
building menus or displaying online help.
The maximum value is 32767 and the minimum is 0.
Example:
DELAY 1000 ;stops for 1 second
DELAY 10000 ;stops for 10 seconds
DELAY 100 ;stops for 1 tenth of a second
DIAL "#[,#]...[,#]"
The DIAL command is used to call an entry in your phone book directory. The
parameters are the entry numbers of the directory. You can also specify the
dialing prefix and suffix characters [ + - ! @ # ] as dial modifiers.
Examples:
DIAL "1" ;dial entry number 1
DIAL "1, 2, 3, 4" ;dial entries 1,2,3,4 until connected
DIAL "+1- +2" ;dial 1 and 2 with the prefix modifiers
If another script is linked to the dialing directory entry, the linked script
will not execute. You must put all commands you wish to execute in the script
file that has the DIAL command.
Because the DIAL command will keep trying until a connect, you may want to use
the SEND command to dial a number just once.
Example:
SEND "ATDT 1 612 824-8167{" ;dial the number
WAITFOR "CONNECT" ;wait for the connect string
... ;more script commands
103
Lastly, if you use another program to sort the phone book, make sure you change
your scripts so the DIAL commands match the correct entries. If you don't,
BBS's are likely to hang up on you!
DISPLAY "string"
-and-
DISPLAYLN "string"
This command will display the text defined by "string". If the DISPLAY command
is used, no CR/LF is displayed. The DISPLAYLN command adds a CR/LF to "string".
Both of these do not send text out the communications port.
Examples:
GETSCR .save the screen
BOX 1 1 20 9 .draw a box
COLORFG 11 .set foreground color to Light Cyan
GOTOXY 6 2 .go to col 6, row 2
DISPLAY "TEST MENU" .show heading
COLORFG 10 .set Light Green color
GOTOXY 3 4
DISPLAY "A) Option one"
GOTOXY 3 5
DISPLAY "B) Option two"
GOTOXY 3 6
DISPLAY "C) Option three"
GOTOXY 3 7
DISPLAY "D) Option four"
GOTOXY 3 7
DISPLAY "Option # ? "
COLORFG 10 .set color to Light Green
GET Letter 1 .read the $Letter
PUTSCR .restore the original screen
DOS "command"
The DOS command lets you execute any DOS level command. This is dependent on
two things; that you have enough memory left to load a copy of COMMAND.COM and
COMMAND.COM can be located in the Boot directory or pointed to by the COMSPEC=
environment variable. If either of these conditions are not met, the DOS
command will fail.
The string can be any valid program or DOS command. Because another copy of
COMMAND.COM is loaded, its like Qmodem is not present. The only kind of program
that cannot be run is one that remains resident after it executes. An example
of this would be SideKickσ or the DOS PRINT program.
Examples:
104 Qmodem Operations Manual
DOS "Copy text.doc prn" .copy a doc file to the printer
DOS "123" .run Lotus 123
DOS "type text.doc|more" .even pipes and redirection work!
DOS "COMMAND" .will invoke the command prompt
.until EXIT is entered, just like
.ALT-R
DOWNLD filename protocol
-and-
DOWNLOAD filename protocol
This command is used to transfer files from the remote computer to yours. The
filename must be fully qualified or it will be saved in the current directory.
The protocol is any one of the defined internal types or any of the external
protocols you have added.
The DOWNLOAD command displays the file transfer in a window while the DOWNLD
command condenses this and uses just the status line area. Otherwise, these two
execute the same way.
Internal Protocols: A - ASCII
X - Xmodem
C - Xmodem CRC
R - Relaxed Xmodem
I - Imodem
Y - Ymodem (1k Xmodem)
G - Ymodem-G
Examples:
DOWNLOAD C:\QMODEM\QMODEM30.ARC Y .download with Ymodem
DOWNLOAD THISFILE.TXT X .saves to current directory
.using Xmodem
CHDIR C:\QMODEM .change dir to c:\qmodem
DOWNLD QMODEM30.ARC Y .put in curr directory and
.use Ymodem protocol
Note: When using the ASCII protocol, Qmodem must receive a ^Z (EOF) character or
the download will never terminate. Be careful of this one!
DRIVE letter
The DRIVE command is used to change logged drives, but not switch directories as
in the CHDIR command. The letter is any valid drive letter in your system (A-
Z). If you use the DOS SUBST command, the new drive letter is also available to
this command.
Examples:
105
DRIVE A .switch to the A: floppy drive
DRIVE C .switch to the C: drive
DRIVE Z .switch to the C: drive (must have used SUBST)
EGA [25|35|43|50|57]
The EGA command is used to switch screen sizes if you have an EGA card in your
system. If you do not, this command is ignored. The only valid values are 25,
35, 43, 50 and 57. Note: the screen will be cleared after this command
executes.
Example:
EGA 43 ; switch to 43 line mode.
EXIST filename label
This command is used to test to see if "filename" exists. If the file does in
fact exist, then jump to "label".
Examples:
EXIST C:\AUTOEXEC.BAT YES .if there is an autoexec.bat in the
. C:\ root directory, jump to
. label YES:
... .do other script commands if it
. does not exist
YES: .label
or
ASSIGN 0 C:\AUTOEXEC.BAT .assign $0 the filename
EXIST $0 YES .same as above
106 Qmodem Operations Manual
EXIT
This command halts the execution of all scripts. Even if you are nested 12
levels deep, when the EXIT command is executed, the scripts halt.
Examples:
EXIT .stop the scripts
NOTE text .does NOT execute because of the prior EXIT
FKEY number
The FKEY command is used to transmit the characters stored in the macro defined
by the Fkey "number"; where number is one of the following:
1 - 10 Normal F1 - F10
11 - 20 Shift F1 - F10
21 - 30 Ctrl F1 - F10
31 - 40 Alt F1 - F10
Examples:
FKEY 23 .send the string stored in Ctrl-F3.
FKEY 1 .send the string in F1.
GET variable number
-and-
GETR variable number
These two commands are almost identical. The difference is that the GETR
command gets its data from both the communications port and the local console
and the GET only accepts data from the local console. Both of these commands
send the entered data out the communications port.
The "variable" can be any valid string variable, either pre-defined $0-$9 or one
you have created with the STRING command. The "number" is an integer that
defines how many characters maximum should be accepted for the variable.
Examples:
WRITE "Enter number between 1-99 ?" .prompt over COM port
GETR 0 2 .gets data over COM port
If online checking is enabled with the TURNON ONLINE command, then the GETR
command is also checking to make sure there is a carrier signal from the modem
(there is someone online). If the carrier should drop for any reason while a
GETR is executing, the variable will contain the string "_OFFLINE_" (regardless
of the character limit).
Examples:
107
TURNON ONLINE .set online checking active
WRITE "Enter a number ? " .prompt for a number
GETR num 5 .read the number
- - - - - -
- - - Carrier drops - - -
- - - - - -
IF '$num' = '100' Label_100 .if num = 100, goto Label_100
IF '$num' = '_OFFLINE_' Cycle .if caller hung up, goto Cycle
GETN variable number
-and-
GETNR variable number
These are almost identical to the GET and GETR commands except that no data is
echoed out the communications port.
GETSCR
This command is used to store a snapshot of the current screen for later display
with the PUTSCR command.
Examples:
GETSCR .save the current screen
CLRSCR .clear the screen
... .do more script commands
PUTSCR .restore the previously saved screen
GETX variable number end_ch
The GETX command is used to capture incoming data and put it into a variable.
This is very similar to the GETNR command except you can specify the terminating
character. Unlike the other GET commands that required the <CR> to end, this
will terminate when the end_ch or the number of characters specified is reached
or a <CR>.
Example:
This one requires a little setup information. Lets assume that you are
logging into an information service. After logon, the service sends you a
message that tells how many new messages there are to read. You want to
capture just the number for later use in the script. The message is in the
following form: NEW MESSAGES (xxx).
WAITFOR "MESSAGES (" ; look for beginning of number
GETX 0 4 ) ; grab up to 4 characters or
; until the ")" character.
108 Qmodem Operations Manual
GOSUB label
This command is used to call a subroutine in the script. Gosubs can be nested
to a maximum of 20 levels. This sounds like a lot, but the nest is shared with
the SCRIPT command. Together, these two may not exceed 20 levels in any
combination.
When the subroutine is finished, it should end with the RETURN command.
Examples:
... .script commands
GOSUB SUB1: .call the SUB1 subroutine
EXIT .end the script
SUB1: .the subroutine SUB1
... .script commands
RETURN .end of subroutine
.will branch back to the EXIT statement
GOTO label
This is much the same as the GOSUB command, but there is no nesting of levels
and there is no return to the following statement.
Examples:
... .script commands
GOTO SUB1: .jump to SUB1
EXIT .end the script
SUB1: .the subroutine SUB1
... .script commands
RETURN .end of subroutine
.will NOT branch back to the EXIT statement
.because this is not nested as a GOSUB is
GOTOXY col, row
This command is used to reposition the cursor on the screen. Col and row are
integers and must contain valid coordinates or the cursor will not move. Also,
the BOX and WINDOW commands affect the area considered the valid screen.
Examples:
GOTOXY 1 1 .homes the cursor
GOTOXY 80 24 .puts cursor in lower right corner
109
WINDOW 1 1 80 14 .set a new window dimension
GOTOXY 40 20 . FAILS, not inside the window
GRAPHICS emulation
The GRAPHICS command is used to invoke the different terminal emulations just as
the ALT-G command does. Currently, Qmodem supports 4 different modes of
emulation:
TTY - No Emulation mode
ANSI - Internal ANSI drive (like ANSI.SYS)
VT100 - DEC's VT100 terminal (no VT52 support)
TVI925 - TeleVideo 925 (no protected field support)
Examples:
GRAPHICS TTY .switch to TTY mode
GRAPHICS VT100 .switch to VT100 mode.
HANGUP
This command is the same as the ALT-H from terminal mode. It sends the command
to hang up the modem.
Examples:
WAITFOR "COMMAND" .wait for the command prompt
SEND "G{" .send the [G]oodbye command
HANGUP .disconnect
IF "string1" opcode "string2" label
-or-
IF condition label
The IF command comes in two different styles, explicit and conditional as shown
above. Lets look at the explicit first.
In an explicit IF statement, you have two strings or variables to compare. You
also need to supply an opcode to determine what kind of comparison you want.
Valid opcodes are as follows:
Opcode Type of test
= If string1 equals string2, goto label
< If string1 is less than string2, goto label
> If string1 is greater than string2, goto label
<= If string1 is less or equal to string2, goto label
>= If string1 is greater or equal to string2, goto label
110 Qmodem Operations Manual
<> If string1 is not equal to string2, goto label
Examples:
IF '$0' = 'YES' Yes_Label .if $0 = YES goto Yes_Label
IF "$0" = "" Nul_Label .if $0 is empty goto Nul_Label
The second type of IF statement is the conditional. It does not compare strings
but tests for a certain condition to be true or false. The following are
testable conditions:
IF $ONLINE label ;if Online, goto label
IF $OFFLINE label ;if Offline, goto label
IF $SUCCESS label ;if last operation was ok, goto label
IF $FAIL label ;if last operation failed, goto label
$ONLINE and $OFFLINE are always set based on the actual status of the carrier
detect signal. This is the same as you would see on the status line.
The $SUCCESS and $FAIL work a little differently in that they can only be used
following a command that sets their state. They remain set based on the last
command that sets them. If you were to try to use them before any command sets
them, results are unpredictable. The script commands that set them are UPLOAD,
UPLD, DOWNLOAD, DOWNLD and HANGUP.
Examples:
IF $ONLINE Skip_Dial ;go around dial command if connected
DIAL "1" ;dial if offline.
Skip_Dial: ;continue...
S1:
DOWNLOAD TESTFILE.DOC X ;download a file
IF $FAIL S1 ;if failed, go try again
INCR variable
The INCR command is the complement to the DECR command. It will take the
variable and if it is numeric, it will increment it by one (1). If the value is
32767, then it will wrap around to zero (0).
Example:
ASSIGN 0 0 ;load $0 with 0
LOOP:
DISPLAY "$0" ;show it.
INCR 0 ;now increment it.
IF '$0' = '10' DONE ; loop until done
GOTO LOOP
DONE:
111
INKEY variable
The INKEY command is used to get just one character from either the COM port or
the keyboard (whichever comes first). The [ENTER] key does not have to be
pressed for the script to continue. This could best be used when generating
menus for your users and you want to make them point and shoot.
Examples:
DISPLAYLN "MENU"
DISPLAYLN " "
DISPLAYLN " A) Call The Forbin BBS"
DISPLAYLN " B) Call GEnie"
DISPLAYLN " C) Call it a day"
DISPLAYLN " "
DISPLAYLN " ?"
TOP:
INKEY 0 ;Store result in $0
IF "$0" < "A" TOP ;Try again
IF "$0" > "C" TOP ; if not a valid choice
; Now $0 is either A, B or C.
LOADFON filename
This command loads a new dialing directory from disk. It can be any valid DOS
filename that has been created by Qmodem under the Alt-D command. This gives
the DIAL command an almost unlimited resource of phone numbers to draw on!
Examples:
LOADFON C:\QMODEM\QMODEM.FO1 .load a new FON file
LOADFON C:\QMODEM\QMODEM.FON .reload the original
LOADKEY filename
This works the same way the LOADFON does, but is for the F-Key macros. Once a
new KEY file is loaded, the FKEY script command can send up to 40 different
string macros! Again, you can have as many key files as you have disk space.
Examples:
FKEY 1 .send out current F1 macro
LOADKEY NEW.KEY .loads a new KEY file
FKEY 1 .sends out a different F1 macro!
LOADKEY C:\QMODEM\1.KEY .load still a third KEY file
112 Qmodem Operations Manual
LOG filename
The LOG command is used to save information about the operation of Qmodem. This
is different from the Capture file in that the Capture file saves the data that
is displayed from the other computer and the Log file saves information like
when you called and how long you were online.
The filename can be any valid DOS filename. If it already exists, data will be
appended to it. If it does not exist, Qmodem will try to create it (provided
the subdirectory structure is correct for the file).
To turn off the Logging feature, use the TURNOFF LOG command.
Examples:
LOG PHONELOG.DAT .start logging to file Phonelog.Dat
... .more scripts commands, some of which
.will be logged
TURNOFF LOG .close the log file
NOTE text
The NOTE commands is almost the same as the DISPLAY command, but has some extra
added "features". One of which, if the capture file is open, the NOTE text gets
entered into the capture file.
Examples:
NOTE This is a test of the note command .comment1
would display as
This is a test of the note command
PAUSE milliseconds
The PAUSE command is used to pause a script. This is very similar to the DELAY
command, but normal screen and keyboard I/O are not suspended. You might want
to use this when building menus or displaying online help.
The maximum value is 32767 and the minimum is 1.
Example:
PAUSE 1000 ;stops for 1 second
PAUSE 10000 ;stops for 10 seconds
PAUSE 100 ;stops for 1 tenth of a second
113
POP variable
POP is used in conjunction with the PUSH command. If you are a little familiar
with programming, then you may recognize these. PUSH and POP are used to
temporarily store a variable, text or some number in a stack. The stack we are
referring to can hold a maximum of 20 entries. PUSH puts the item on the top of
the stack and POP takes the top item off the stack. You cannot take an item out
of the middle of the stack nor can you take an item off the bottom of the stack.
This is also referred to as LIFO (Last In, First Out).
If you try executing a POP when the stack is empty, the variable will contain
the NULL string (zero length). If you try to execute a PUSH when the stack is
full, an error will occur.
Example:
POP 0 ; POP stack into $0
; $0 will be NULL because no
; previous PUSH
ASSIGN 0 0 ; set $0 to zero
TOP: ; set a label TOP
INCR 0 ; increment $0
NOTE This is $$0 [$0] ; display the value of $0
PUSH $0 ; PUSH it on the stack
IF "$0" = "10" POPSTACK ; test for value of 10
GOTO TOP ; loop back
POPSTACK: ; 10 numbers on stack now
POP 1 ; POP the stack into $1
NOTE This is $$1 [$1] ; display the value of $1
IF "$1" <> "" POPSTACK ; test for done by looking for NULL
NOTE Done. ; now we're done
PORT number [1..8]
The PORT command is used to switch active COM ports. The valid range is 1 thru
8 and corresponds to the number of COM ports you have installed in Qinstall. If
the port selected is valid, the current active port is closed, DTR is dropped,
and the new port is opened with the same COM parameters as the old port.
This command might be useful in the script to auto-detect which port the modem
is connected to.
Example:
; This assumes a Hayes or compatible modem
;
TIMEOUT 2 Try2 ;
114 Qmodem Operations Manual
PORT 1 ; select COM1 first
SEND "AT{" ; send the ATtention command
WAITFOR "OK" ; look for the response
GOTO ON-LINE! ; if successful, jump!
Try2: ;next label
TIMEOUT 2 error ;
PORT 2 ; select COM2
SEND "AT{" ; send the ATtention command
WAITFOR "OK" ; look for the response
GOTO ON-LINE! ; if successful, jump!
ERROR: ; modem not found
NOTE No Modem
EXIT
ON-LINE!: ; we found the modem so lets
; do something!
PUSH text (or variable)
See the POP command for a full explanation
PUTSCR
This command works in conjunction with the GETSCR command. It restores the
screen from when the GETSCR took the snapshot. Results are unpredictable if a
previous GETSCR has not been executed some time prior to the PUTSCR command.
Examples:
GETSCR .save the current screen
CLRSCR .clear the screen
... .do more script commands
PUTSCR .restore the previously saved screen
RETURN
This command is used to "return" from a previous GOSUB or SCRIPT command.
Execution continues with the statement following the GOSUB or SCRIPT command.
If there was no previous GOSUB or SCRIPT, then the RETURN command is treated the
same as an EXIT command.
To cancel a script while you are nested several levels, use the EXIT command.
See the GOSUB command for an example.
115
SCRIPT filename
The SCRIPT command is used to call another script. If the script being called
includes a RETURN command, then execution will continue with the statement
following the SCRIPT command. The "filename" should be the name of a script
file stored in the directory specified in Qinstall.
Examples:
.....Script ONE.SCR..... .a comment line
NOTE Executing Script ONE.SCR .display a note
SCRIPT TWO.SCR .call another script
NOTE Back in ONE.SCR .display a note
SCRIPT THREE.SCR .call another script
NOTE Back in ONE.SCR .display a note
EXIT .halt execution
.....Script TWO.SCR..... .comment line
NOTE Executing Script TWO.SCR
SCRIPT THREE.SCR .call another script
NOTE Back in TWO.SCR
RETURN .return to previous script
.....Script THREE.SCR..... .comment line
NOTE Executing Script THREE.SCR
RETURN .return to previous script
The output of these three scripts (provided the script ONE.SCR was executed
first) would be:
Executing Script ONE.SCR
Executing Script TWO.SCR
Executing Script THREE.SCR
Back in TWO.SCR
Back in ONE.SCR
Executing Script THREE.SCR
Back in ONE.SCR
SEND "string"
This command is used to send data out the communications port. There are two
special characters when using the SEND command:
"{" - The left curly brace is a substitute for the [ENTER] key.
"~" - The tilde is a substitute for a .5 second pause.
Examples:
SEND "{" .send a carriage return ([ENTER])
SEND "~~ ~ ~ {" .pause one second followed by three spaces
.at .5 second intervals followed by [ENTER]
116 Qmodem Operations Manual
ASSIGN 0 "~~ ~ ~ {" .put the above string in $0
SEND $0 .send it
SEND "$Password{" .sends the Password stored in the dialing
.directory only after a valid CONNECTion.
SETCOMM [A..N]
[300|1200|2400|4800|9600|19200|38400]
[EVEN|ODD|NONE]
[7|8]
[1|2]
This command is used the same as the ALT-P in terminal mode. It changes the
serial port parameters. At least one letter or parameter is required and they
can appear in any order. If two conflicting parameters are entered, say SETCOMM
AB, then the last parameter takes precedence.
Parameters are as follows:
A or 300 300 baud
B or 1200 1200 baud
C or 2400 2400 baud
D or 4800 4800 baud
E or 9600 9600 baud
F or 19200 19200 baud
G or 38400 38400 baud
H or EVEN Even parity
I or ODD Odd parity
J or NONE No parity
K or 7 7 data bits
L or 8 8 data bits
M or 1 1 stop bit
N or 2 2 stop bits
Examples:
SETCOMM CJLM .sets 2400-N-8-1
SETCOMM 9600 .changes only the baud rate to 9600
STAMP text
The STAMP command works much like the NOTE command, except the "text" is put in
the LOG file (if open) and not displayed on the screen. Any text following the
STAMP keyword is "logged".
Examples:
NAME_LABEL:
WRITELN " [---------30-chars-max---------]"
117
WRITE "Enter your name ? "
GETR NAME 30
IF "$NAME" "" NAME_LABEL .check for a null entry
IF "$NAME" "_OFFLINE" CYCLE .check for offline condition
STAMP ************************************
STAMP User [$NAME] Logged On
could add the following two lines to the LOG file
10:37:33 04/10/87 STAMP **************************************
10:37:33 04/10/87 STAMP User [Sysop] Logged On
STRING variable [...variable]
Up to 20 new string variables can be defined by you. They can then be
referenced by prefixing the new word with a "$" (except where noted).
Examples:
STRING THIS THAT OTHER .create three new variables
ASSIGN THIS "NEW TEST" .puts "NEW TEST" in $THIS
NOTE [$THIS] [$THAT] [$OTHER] .display their values
would display:
["NEW TEST"] [] []
SYSTEM [X|Y]
The SYSTEM command is used to stop script execution, but in addition, it will
also exit Qmodem. This is the same as the Alt-X command from terminal mode.
Examples:
SYSTEM X .exit Qmodem with DTR left High
SYSTEM Y .exit Qmodem with DTR dropped
TIMEOUT time [label]
-and-
WAITFOR "string"
These two commands work together. The TIMEOUT command controls how long the
WAITFOR command will wait for "string" to appear in the incoming stream of data.
TIMEOUT has an optional label that will be branched to if the WAITFOR times out.
If the label is not specified, then the script will abort with an error
condition.
Examples:
118 Qmodem Operations Manual
TIMEOUT 3 AGAIN .set timer to 3 seconds, error label AGAIN
AGAIN: .here's the label
SEND "ATZ{" .send modem reset command
WAITFOR "OK" .if OK is not seen in 3 seconds, goto the
.label AGAIN (and try again!)
Each WAITFOR command can have its own TIMEOUT command for explicit control of
timing and error conditions. If you choose this route, then make sure all
WAITFOR commands have a TIMEOUT to keep weird errors (like a label being
branched to and you can't figure out how in the world you got there) to a
minimum.
TURNOFF keyword [keyword(s)]
-and-
TURNON keyword [keyword(s)]
These two commands work like switches when running scripts. The keywords are
parameters (features in terminal mode) that effect the operation of the script
(and terminal mode after the script finishes).
Here is the list of keywords, the equivalent command from terminal mode, which
of the two it works with and a brief description of the keyword.
Keyword Cmd OFF ON Action
------- ------ --- -- -------------------------------------------
8_BIT Alt-8 x x Sets the 8 bit mode
BS_DEL Alt-1 x x Sets the mode of the BS key, On sets BS=DEL
Off sets BS=BS
CAPTURE ^Home x Off only. Closes the Capture file if open
ECHO Alt-E x x Sets the local echo mode
LINEFEED ShftTab x x Controls the adding of LF's to incoming CR's
LOG Alt-0 x Off only. Closes the LOG file if open
MUSIC Alt-M x x Sets the ANSI Music mode
NOISE Alt-B x x Sets the Beeps & Bells of Qmodem (on or off)
ONLINE x x Sets the state of the true carrier detection
for the GET Script commands.
PRINT ^PrtSc x x Sets the local print echo mode
SCROLL Alt-U x x Sets scroll-back capture mode
SPLIT Alt-S x x Sets the split screen mode on or off
XON/XOFF Alt-Z x x Sets the XON/XOFF flow control mode
Examples:
TURNON 8_BIT NOISE XON/XOFF
TURNOFF MUSIC ECHO LINEFEED
...
CAPTURE C:\QMODEM\CAP.TXT .turn on the capture file
...
TURNOFF CAPTURE .close the capture file
119
TURNOFF LOG .nothing happens, log not open
UPLOAD filename protocol [ASCII options]
-or-
UPLD filename protocol [ASCII options]
The UPLOAD and UPLD commands have two basic modes; ASCII transfers and non-ASCII
transfers. The filename must be either a fully qualified DOS filename or it
must be located in the current directory. The UPLD command uses the status
line instead of a window like the UPLOAD command.
The protocols are as follows:
A - ASCII
X - Xmodem
C - Xmodem CRC
R - Relaxed Xmodem
I - Imodem
Y - Ymodem
G - Ymodem
If you have defined any external protocols in Qinstall, then they too can be
used.
Examples of non-ASCII:
UPLOAD QMODEM.ARC Y .send the file QMODEM.ARC using
.Ymodem. The file must be in the current
.directory
UPLOAD C:\AUTOEXEC.BAT X .upload the autoexec.bat file from
.the C: root directory using Xmodem
When using the ASCII method, three additional parameters are required; the type
of ASCII transfer, the throttle speed and the prompt character. All three
parameters are required, but may or may not be important depending on the mode
options. Here is what the command would look like:
UPLOAD filename A 3 0 >
^ ^ ^ ^
| | | Prompt character if any (required)
| | |
| | Throttle Speed (integer, required)
| |
| ASCII Type 1) prompted 2) delay 3) no delay
|
Xref method (A for ASCII)
The ASCII "Type" controls how the file will get sent. Prompted means that the
host system will send a character telling Qmodem its ready for another line of
120 Qmodem Operations Manual
the text file. The Prompt character is used with type 1. The second type
(delay) means that the data goes out but is regulated, or paced so the host will
not be overrun. The Throttle Speed is used with the delay option. The last
type is No Delay. This sends the file as fast as the modem can send it. No
other options are used, but are still required for the script language.
The Throttle Speed is a timing loop, based on thousandths of a second. So a
throttle of 1000 is equal to 1 second delay between each character sent out. A
more realistic figure would be 30 or 40.
The Prompt character can be any ASCII character except [SPACE] and [ENTER]. The
upload code waits for this character and then sends out one line of data. It
repeats this procedure until the entire file is transmitted. This is useful
when automating messages to BBS's because all BBS's use some sort of prompt
character for each line in a message.
Examples:
SEND "{" .send a carriage return
WAITFOR "Command" .look for the command line
SEND "E{" .command to enter a message
WAITFOR "To [Enter]=all?"
SEND "Sysop{" .to the Sysop
WAITFOR "Subject:?"
SEND "A Private msg{" .the msg description
WAITFOR "Security:"
SEND "R{" .Receiver only
UPLOAD TEST.DOC A 1 0 : .upload a text file to a PCB BBS
SEND "{~~S{" .tell the board to save the msg
WAITUNTIL time
This command makes the script pause until the system clock is the same as the
"time" parameter. The time is specified in military 24 hour clock format
(HH:MM:SS) with 00:00:00 being midnight and 11pm being 23:00:00.
When executed, the target "time" and the current system clock are shown side by
side until the match is made. When a match occurs, the script then continues
with the next command.
Examples:
TURNON (parameters)
WAITUNTIL 04:00:00 .wait till 4 a.m.
DIAL "1 2 3 4" .dial the numbers
...
WAITUNTIL 24:00:00 .will never get past this, because the
.military clock does not have 24:00:00
121
WHEN "string" "string"
-or-
WHEN "string" label
The WHEN command is used in conjunction with the WAITFOR command. The WHEN is
only active while you are executing a WAITFOR. WHENs are a method of branching
in case what you are waiting for will never come in. You can have a maximum of
10 WHENs active at any one time. The WHEN command with no parameters clears the
active WHENs with parameters.
Examples:
Timeout 60 Error .setup timeout
TurnOff Split Linefeed Music .runtime parameters set
WHEN .clears all pending WHENs
WHEN 'Mail' '~~N{' .if the string MAIL is seen,
.pause 1 second and send
.N followed by [ENTER]
WHEN '[QVISA.ARC] duplicates' TryAgain
.If the first string is seen,
.jump to the label TRYAGAIN
Dial '+15'
Waitfor 'Graphics'
Send 'N;Q{'
Waitfor 'Name'
Send 'John;Friel;password{'
Waitfor 'Board Command'
Send 'U QVisa.Arc I{'
Upload2:
Waitfor '------]'
Send '/Qmodem VISA orders for $Date{'
Waitfor '[Ctrl-X] to Abort.'
Upload C:\Visa\Qvisa.arc I
Waitfor 'Board Command'
Send 'g{'
System Y
TryAgain:
Send '{'
Waitfor 'Command'
Send 'U QVisa2.Arc I{'
Goto Upload2
Error:
Stamp Error uploading the VISA scripts.
Stamp This Script is going off hook!
Hangup
Send '~~ATM0H1{'
Exit
122 Qmodem Operations Manual
WINDOW c1, r1, c2, r1
This command is also used to create windows within your script commands. It
differs from the BOX command in that WINDOW does not actually draw the box. The
window is Invisible. The four parameters are required and must be of type
Integer. The window is positioned with the upper left corner at column c1 and
row r1. The bottom right corner of the window is at column c2 and row r2.
No check is made to see if the numbers are valid, so make sure that the c2 is
greater than c1 and r2 is greater than r1 and that all parameters are somewhere
on the local screen. The upper corner of the screen is considered to be Col 1,
Row 1 and the lower right corner of the screen is Col 80, Row 24. For those of
you with EGA adapters, the lower right corner may vary with the Screen
dimensions (See ALT-2 through ALT-6).
Examples:
WINDOW 1 1 80 24 .window the full size of the screen
WINDOW 20 4 60 8 .window 40 cols wide by 4 lines high
WRITE "string"
-and-
WRITELN "string"
The WRITE command sends the text in "string" out the communications port without
a CR/LF. This would be desirable if you have created prompts and want the
cursor to remain on the same line. The WRITELN works the same, but a CR/LF is
added to the string.
Examples:
WRITELN " [------------]"
WRITE "Enter your first name ? "
GETR F_NAME 12
WRITELN " "
WRITELN " [--------------------]"
WRITE "Enter your last name ? "
GETR L_NAME 20
WRITELN " "
WRITELN " [------------]"
WRITE "Enter your password ? "
GETR P_WORD 12
would look like the following to the other caller
[------------]
Enter your first name ? JOHN
123
[--------------------]
Enter your last name ? FRIEL III
[------------]
Enter your password ? PASSWORD
ERROR MESSAGES.
If an error is encountered while executing a script, an error message will be
displayed showing you the error number, a description of the error, the file
name containing the error, the row and column of the error and the erroneous
line itself.
Example:
* Script Edit Error
WORD expected.
File : C:\SCRIPTS\test Row # : 1 Col # : 6
Line : Debug
-or-
* Script Edit Error
LABEL not found.
TIMEOUT LABEL = ERROR_LINE
GOTO/GOSUB LABEL = HERE
File: C:\SCRIPTS\test
The second example is a little different because it is related to searching the
script for a label. It may do this for two reasons; 1) because of a TIMEOUT
condition on a WAITFOR command or 2) because of a GOTO or GOSUB command. In
both cases, the target label was not found. To tell which one caused the
problem, look at the two labels listed. If either one is blank, then the one
with a label name caused the problem. If both labels are the same name, then it
was caused by a TIMEOUT condition. If they are different, then it was caused by
a GOTO or GOSUB missing label.
Here is a complete list of possible error messages you may receive.
DOWNLOAD Filename expected.
WORD or LABEL expected.
STRING length 0.
STRING expected.
WORD expected.
UPLOAD Filename expected.
INTEGER expected.
DRIVE Letter A..Z expected.
SETCOMM Letter A..N expected.
SCRIPT Filename not found.
UPLOAD Filename does not Exist.
124 Qmodem Operations Manual
RETURN SCRIPT Filename not found.
LABEL not found.
TURNON Keyword(s) not found.
GRAPHICS Keyword not found.
TURNOFF Keywords(s) not found.
CAPTURE Filename not found.
LOADFON Filename not found.
LOADKEY Filename not found.
LOG Filename not found.
ON or OFF parameter expected.
Too many WHEN's defined.
SCRIPT/GOSUB nested too deep.
SYSTEM parameter not "Y" or "X".
STRING VARIABLE expected.
No user defined STRINGS.
STRING not defined.
WORD or STRING expected.
FON Filename does not exist.
F-KEY Filename does not exist.
Invalid Substitute VARIABLE.
Substitute Line too long.
Line too long.
Invalid LABEL or misplaced Colon.
A CALL FOR SCRIPTS.
If you write a SCR or LOG file that could have widespread use, or one that makes
unique use of some of the commands, please share your efforts with others. Be
sure to replace your own password with FAKE-PASSWORD in any file you share:
1. Create an auto-logon script for your favorite free or commercial BBS
system and upload it to that system for others to modify and use.
2. Upload general-purpose and especially creative scripts to the Forbin
Project BBS. Our own auto-logon script is included with the
distribution copy of Qmodem. Its name is FORBIN.SCR and it's ready
for you to modify.
125
APPENDIX A SCRIPT COMMAND REFERENCE
[*] Indicates new commands since Qmodem Version 3.0
[] Brackets [ and ] are used to define the
command and show spacing, and are not
entered. Brackets can be used in the
text string.
{ Left Curly Brace
Character used in place of a <RETURN>
or <CR> carriage return.
~ Tilde
Character used for a 1/2 second pause.
Normally used to generate longer delays
by adding additional tilde's.
Example: "~~~+++~~~ATH{"
$0 to $9 Defines Parameters used in the script.
After a Parameter is used, it may be
used as a different function if the
original [STRING] is no longer
required.
$[Variable] The following is a list of Pre-defined
Variables that contain the specified
data only when a valid online CONNECT
is made.
$BOARD Contains the name listing specified in
the Dialing Directory.
$NUMBER Contains the dialed telephone number.
$PASSWORD Contains the password stored in the
Dialing Directory.
$SCRIPT Contains the name of the script
attached to the dialed number.
$PROTOCOL Contains the default protocol
associated with the dialed number.
$SPEED Contains the current Baud Rate used to
dial.
$COM Contains the rest of the communication
parameters in the form of [DATABITS-
PARITY-STOPBITS].
Example : 8-N-1
The following are always available in a Script
$DATE Contains the current system date.
$TIME Contains the current system time.
Example: SEND "$TIME" transmits the
system clock time to the remote.
$LAST_ROW Contains the value of the last Row in
126 Qmodem Operations Manual
the screen.
$LAST_COL Contains the value of the last Column
in the screen.
$WHEREX Contains the value of the current cursor
Column.
$WHEREY Contains the value of the current cursor
Row.
ASSIGN [VARIABLE] [STRING]
This command assigns the word the value
of the string.
BEEP [INTEGER] Make the speaker beep at a specified
tone in Hertz(cycles/second). Integer
(100-2000) Example: BEEP 600 (beep at
600 Hz.)
BOX [C1 R1 C2 R2] Generates a box(border) outline with a
blank window in it. The co-ordinates of
the box are made up of C1,left upper
column; R1,left upper row; C2 right
lower column; R2 right lower row.
Column is defined as (1-80)left to
right on the screen. Row is defined as
(1-24) top to bottom on the screen.
BREAK Sends the * <BREAK> signal, same as
Ctrl-End to the modem and the remote
system. A true break signal lasts 1.5
seconds and causes the remote program
to stop like a Ctrl-C command in DOS.
CAPTURE Drive:\Path\FILENAME.EXT
Turns on the Capture to Disk (Ctrl-
Home) function. Use TURNOFF CAPTURE to
turn off the CAPTURE command.
CHDIR [Dr:\Dir] Change Drive\subdirectory as required
(Alt-O).
CHDIR \QMODEM (change Dir)
CHDIR D:\QMODEM (change Drive:\Dir)
CLRSCR Clears the screen in both normal and
split screen mode. Operates like Alt-C.
When a BOX or WINDOW command is active
clears only the insert area.
COLORBG [INTEGER] Changes the Background color of the
screen to the integer number. Uses the
standard DOS color table. The range is
0 to 7.
127
COLORFG [INTEGER] Changes the Foreground color of the
screen to the integer number. Uses the
standard DOS color table. The range is
0 to 31.
DEBUG [ON/OFF] Displays each line of the Script as it
is being executed. Starting a Script
automatically turns this function OFF.
DECR [VARIABLE] If the variable is a numeric integer value,
then is will be decremented by 1. If it is
not an integer, an error occurs.
DELAY [INTEGER] Used to pause a Script for INTEGER Milliseconds.
DIAL "1" Set COM parameters, dial a phone
number from the Dialing Directory.
DIAL "1,5,3" Set COM parameters, dial and/or
(re)dial several phone numbers from
the Dialing Directory.
DISPLAY [STRING] Displays text(characters) on the screen
without a CR/LF and without echoing to
the comport. Can be used to display
online local menus to the screen in a
Script.
DISPLAYLN [STRING] Same as DISPLAY but adds a CR/LF to STRING.
DOS "DOS Command" Directly Execute any valid DOS Command.
DOWNLD FILENAME TYPE Same as the DOWNLOAD command except the
Status Line is used instead of a Window for
displaying transfer information.
DOWNLOAD FILENAME TYPE
Where TYPE is one of the following:
(A) Ascii
(X) Xmodem
(C) Xmodem CRC
(R) Relaxed Xmodem
(I) Imodem
(Y) Ymodem
(G) Ymodem-G
DRIVE [letter] Change default Drive to another valid
drive same as (Alt-L).
EGA [25|35|43|50|57] If you have an EGA display card, this can
change the number of lines on the screen.
EXIST FILENAME LABEL
128 Qmodem Operations Manual
Filename is a valid DOS filename. If
the file exists, goto LABEL.
FKEY [number] Sends the Characters stored in the
selected [number] location, to the
remote system. Excellent for sending
Passwords and any predetermined
character string to the remote system.
FKEY [number] where number = 1..40
as follows:
1 to 10 Normal F1 to F10
11 to 20 Shift F1 to F10
21 to 30 Ctrl F1 to F10
31 to 40 Alt F1 to F10
Example: FKEY 23 Send the String stored
in Ctrl F3 to the modem.
GET [VARIABLE] [INTEGER]
Reads [INTEGER] number of characters
and places them in variable.
Input is terminated with a <CR>.
Input: KBD
Output: Screen and COM port
GETR [VARIABLE] [INTEGER]
Reads [INTEGER] number of characters
and places them in variable.
Input is terminated with a <CR>.
Input: KBD and COM port
Output: Screen and COM port
GETN [VARIABLE] [INTEGER]
Reads [INTEGER] number of characters
and places them in variable.
Input is terminated with a <CR>.
Input: KBD
Output: Screen
GETNR [VARIABLE] [INTEGER]
Reads [INTEGER] number of characters
and places them in variable.
Input is terminated with a <CR>.
Input: KBD and COM port
Output: Screen
GETX [VARIABLE] [INTEGER] [END_CH]
Reads [INTEGER] number of characters
and places them in variable.
129
Input is terminated with a <CR>.
Input: KBD and COM port
Output: Screen and COM port
GETSCR Saves the current screen contents into
a temporary buffer. Use PUTSCR to
restore the previous GETSCR command.
GOSUB [LABEL] Will branch to the LABEL specified.
Use RETURN as the last command in LABEL
to resume at the line following the
GOSUB command. The nesting level of
the GOSUB and SCRIPT commands are
combined twenty (20) levels deep.
GOTO [LABEL] Will jump to the LABEL specified and
follow that path thereafter.
GOTOXY [C R] Moves the cursor to the co-ordinates
defined. C is the Column on the screen
(1-80) left to right R is the Row on
the screen (1-24) top to bottom. The
cursor position is defined with respect
to the BOX or WINDOW when active or to
the entire screen when a BOX or WINDOW
is deactivated.
GRAPHICS [TYPE] Sets the terminal emulation mode to be
used. TYPE is one of the following:
TTY No ANSI Driver Active.
ANSI Internal ANSI Driver.
VT100 DEC VT100 Emulation
TVI925 Televideo 925 Emulation.
HANGUP Disconnect the phone (go off-line),
hang up, (Alt-H).
IF [STRING1] [opcode] [STRING2] [LABEL] (type1)
-or-
IF [CONDITION] [LABEL] (type2)
Type1: All parameters are required. IF
compares STRING1 to STRING2 using OPCODE
and if true, jump to LABEL
Valid OPCODEs:
= equal
< less than
> greater than
<= less than or equal to
>= greater than or equal to
<> not equal to
Type2: Checks state of CONDITION and if true, jump
to LABEL.
Valid CONDITIONs:
130 Qmodem Operations Manual
$ONLINE if online, goto label
$OFFLINE if offline, goto label
$SUCCESS if last upload, download,
or hangup successful,
jump to label.
$FAIL if last upload, download,
or hangup failed, jump to label
INCR [VARIABLE] If the variable is a numeric integer value,
then is will be incremented by 1. If it is
not an integer, an error occurs.
INKEY [VARIABLE] Gets exactly one character from either the
COM port or the keyboard and puts it in the
variable. The [ENTER] key is not required.
LABEL: Marks beginning of a label and its
list of commands. Used with GOSUB,
GOTO, WHEN, IF and TIMEOUT. Example:
MENU: The colon(:) defines the end of
the LABEL name.
LOADFON [QMODEM.FON] Loads another Dialing Directory (FON)
File into Qmodem for immediate use.
You can specify any valid
Drive.\Dir\FILENAME.EXT as desired.
LOADKEY [QMODEM.KEY] Loads a another Function Key (KEY)
File into Qmodem for immediate use.
You can specify any valid
Drive:\Dir\FILENAME.EXT as desired.
NOTE text Displays the "text message" to the
screen only, including a CR and LF, but
no transmission to the modem or remote
system.
PAUSE [INTEGER] This makes the script stop executing for
integer milliseconds. COM port activity will
continue to be displayed, but the script is
waiting to continue. See also DELAY.
POP [VARIABLE] Removes the the string from the top of the
stack and places it in variable. If the stack
is empty, the null string is returned.
PORT [1-8] This will change the active COM port to the
number specified. If the port is invalid, no
action is taken.
PUSH [STRING|WORD] This puts the data specified on the top of the
stack and increments the stack counter. Only
20 items can occupy the stack at any one time.
If the stack is full, an error will occur.
131
PUTSCR Restores the screen from a previous
GETSCR statement. The screen
restoration will be unpredictable if a
previous GETSCR is not used.
RETURN Returns to the previous SCRIPT or GOSUB
command. Nesting of up to 20 RETURN's are
allowed.
SCRIPT FILENAME.EXT Run another script; passing up to ten
parameters. Use the RETURN command to
return to the line following the SCRIPT
command. The nesting level of the
SCRIPT and GOSUB commands are combined
twenty (20) levels deep.
SEND "STRING" Send any "text" string to the modem or
remote computer.
SETCOMM [PARAMETER] Set the Communication Parameters.
Choose from the following parameters:
Set baud rate
A or 300
B or 1200
C or 2400
D or 4800
E or 9600
F or 19200
G or 38400
Set Parity
H or EVEN
I or ODD
J or NONE
Set Data bits
K or 7
L or 8
Set Stop bits
M or 1
N or 2
Examples:
SETCOMM CJLM Sets 2400 baud, no parity, 8
bits data, one stop bit.
SETCOMM 9600 Changes only the baud rate to
9600 and retains the previous data bit
and parity settings.
STAMP [STRING] Logs STRING to the Log file if it is open.
STRING [WORD] Up to twenty (20) new variables can be
defined by this command. They can be
referenced as a ($word).
Example: STRING THIS THAT OTHER
132 Qmodem Operations Manual
SYSTEM [X|Y] [X] Exit Qmodem and keep DTR Up (stay
connected on-line).
[Y] Exit Qmodem and drop DTR (disconnect
and go off-line).
TIMEOUT [INTEGER] Sets the number of seconds to WAITFOR
before halting a Script and returning
control to the keyboard.
TIMEOUT [INTEGER] [LABEL]
Jump to any LABEL after the timeout has
completed.
TURNOFF 8_BIT Sets the 7 bit mode of Qmodem.
TURNOFF BS_DEL Sets BS = BS (Backspace key).
TURNOFF CAPTURE Turn off Capture File (Ctrl-Home)
TURNOFF ECHO Turn off local echo (Alt-E)
TURNOFF LINEFEED Do not Add linefeeds (LF) to incoming
(CR)'s. (Shift-Tab).
TURNOFF LOG Close the LOG file.
TURNOFF MUSIC Turn off ANSI music mode (Alt-M)
TURNOFF NOISE Turn off Beeps/Bells-Speaker (Alt-B)
TURNOFF ONLINE This command disables the _OFFLINE_
parameter checking.See TURNON ONLINE
for description.
TURNOFF PRINT Turn off printer (Ctrl-PrtSc)
TURNOFF SPLIT Turn off the Split Screen (Alt-S)
TURNOFF XON/XOFF De-activate and do not accept or send
Xon/Xoff (Ctrl-Q/Ctrl-S) ASCII
characters; (Alt-Z) keyboard command.
TURNON 8_BIT Sets the 8 bit mode in Qmodem (Alt-8).
TURNON BS_DEL Sets BS = DEL (backspace key, Alt-1).
TURNON ECHO Turn on local echo (Alt-E) to the
screen.
TURNON LINEFEED Add linefeeds (LF) to incoming (CR's).
TURNON MUSIC Turn on ANSI music mode (Alt-M).
TURNON NOISE Turn on Beeps/Bells-Speaker (Alt-B).
TURNON ONLINE Enables the GETS command to watch the
true online status of the system. This
is a special case used to test for
online status.
TURNON PRINT Turn on printer (Ctrl-PrtSc).
TURNON SPLIT Set Split screen mode (Alt-S).
TURNON XON/XOFF Activate, accept and send
Xon/Xoff(Ctrl-Q/Ctrl-S) ASCII
characters;(Alt-Z) Keyboard Command.
UPLD [FILENAME] [TYPE] Same as the UPLOAD command except it
uses the Status Line instead of a Window to
display transfer information.
UPLOAD [FILENAME] [TYPE]
133
Where TYPE matches DOWNLOAD types.
Example: UPLOAD QMODEM.COM Y
UPLOAD FILENAME.EXT 1 3 0 : ASCII Upload
^ ^ ^ ^
| | | |
| | | Prompt character or symbol
| | |
| | Throttle Speed (integer, required)
| |
| Type (1 prompted 2 Delay 3 no delay)
|
Protocol Transfer method(1) ASCII
Note: ASCII Protocol Transfer is a
special case and requires these
additional parameters. All other
protocols require only one letter.
WAITFOR "STRING" Wait for any text string before
proceeding. Example: WAITFOR "Command?"
WAITUNTIL HH:MM:SS Pause until time specified. All digits
MUST be entered in 24 hour convention.
WHEN "STRING1" "STRING2"
When "STRING1" is received, then SEND
"STRING2" out the COM port.
WHEN "STRING" LABEL When "STRING" is received, jump to LABEL.
Example: WHEN "files." DONE
WHEN A WHEN with no parameters clears all
active WHEN commands.
WHEN Function: Wait for a string and
then do something. After a WHEN
command is activated, it remains in
effect until the entire script is
completed, unless the WHEN is
canceled. Up to ten (10) different
WHEN commands can be executed in one
script.
WINDOW [C1 R1 C2 R2] Generates a window defined by the four
coordinates of the outline. The window
will be blank and will not have a
border. See BOX for detailed
description of the Column and Row
Coordinates. C1 = Left Column, R1 =
Left Row, C2 = Right Column, R2 = Right
Row.
WRITE "STRING" Sends a "STRING of characters" out the
134 Qmodem Operations Manual
comport without a CR/LF. For example
use when prompting or a reply is
required on the same line.
WRITELN "STRING" Sends a "STRING of characters" out the
comport with a CR/LF.
135
APPENDIX B TERMINAL MODE COMMAND REFERENCE
Strip/Replace Table Alt-A
Bells and Beeps Toggle Alt-B
Clearing the screen Alt-C
Dialing Alt-D
Changing the Duplex Alt-E
Script Files Alt-F
Terminal Emulation Alt-G
Hangup the phone Alt-H
Information screen Alt-I
Function Key Macros Alt-J
Changing the active COM port Alt-K
Changing the Logged Drive Alt-L
Music Toggle Alt-M
Invoking Qinstall from Qmodem Alt-N
Changing Subdirectories Alt-O
Setting the Communications Parameters Alt-P
The Dial/Redial Screen Alt-Q
DOS Shell Alt-R
Split Screen Mode Alt-S
Screen Dump Alt-T
Scroll Back Toggle Alt-U
View a File Alt-V
Disk Directory Alt-W
Exiting Qmodem Alt-X
Delete a File Alt-Y
Xon/Xoff Toggle Alt-Z
Uploading a File PgUp
Downloading a File PgDn
Scroll Back Up Arrow
Capture to Disk Ctrl-Home
Sending a BREAK signal Ctrl-End
Copying to the Printer Ctrl-PrtSc
Adding Linefeeds to Carriage Returns Shift-Tab
Backspace <-> DEL Toggle Alt-1
EGA Screen Modes Alt-2 thru Alt-6
Hi Bit Stripping Toggle Alt-8
Logging activity to a File Alt-0
136 Qmodem Operations Manual
ALT-U 68
I N D E X ALT-V 69, 84
ALT-W 70, 87
$BOARD 66, 97, 126 ALT-X 38, 59, 89, 118
$COM 66, 98, 126 ALT-Y 89
$DATE 97, 126 ALT-Z 29, 73, 119
$NUMBER 66, 97, 126 ANSI 29, 53, 58, 110
$PASSWORD 57, 66, 98, 126 ASCII 39, 40, 75, 76, 77, 120
$PROTOCOL 66, 98, 126 ASSIGN 96, 97, 99, 127
$SCRIPT 66, 98, 126 ATDP 19
$SPEED 66, 98, 126 ATDT 19
$TIME 97, 126 ATH 54
+++ 54 AUTOEXEC.BAT 8
/R 38 Baud rate 29, 35
/S= 38 BBS v, 19, 23, 29, 52, 87
19200 31 BEEP 99
8 bit 87 BEEP [INTEGER] 127
8_BIT 119 Beeps 29, 41, 64
<CR> 6 BIOS 32
[ENTER] 6 BOX 100
[Esc] 6 BOX [C1 R1 C2 R2] 127
^ 6 BREAK 86, 100, 127
^End 90 Browse 69
^PrtSc 119 BS 86
Alt- 6 BS_DEL 119
ALT-0 57, 87, 89, 119 Bulletin Boards v
ALT-1 86 Capture 71, 84, 100, 119, 127,
ALT-2 87 133
ALT-3 87 Capture Buffer 36
ALT-4 87 CHDIR 60, 101, 105, 127
ALT-5 87 CLRSCR 101, 127
ALT-6 87 Color 41
ALT-8 87, 119 Color Graphics 8
ALT-A 39 Color Setup 12
ALT-B 41, 119 COLORBG 101, 127
ALT-C 41 COLORFG 101, 128
ALT-D 62, 89, 91 Colors 102
Alt-E 119 COM1 21
ALT-F 52, 91 COM2 21
ALT-G 53 COMMAND.COM 67, 104
Alt-H 19, 54, 89, 110 Commands. 97
ALT-I 54 Compatible 8
ALT-J 55, 89, 93 CompuServe 16, 52, 79, 87
Alt-K 21, 89 COMSPEC= 67, 104
ALT-L 89 CONFIG.SYS 8
ALT-M 58, 119 CONNECT 29, 92
ALT-N 32, 59 Copyright iii
ALT-O 59, 89, 101 CPS 79
ALT-P 35, 58, 60, 70, 117 Ctrl 6, 94
ALT-R 84, 89 CTRL-END 86, 100
ALT-S 54, 67, 87 CTRL-HOME 23, 84, 92, 100
ALT-T 23 CTRL-PRTSC 86
CTS 76, 79 GETR 107, 129
CTS/RTS 29 GETSCR 108, 130
Data Bits 35 GETX 108, 129
DEBUG 102, 128 GOSUB 109, 130
DECR 102, 128 GOTO 109, 130
Definitions 6 GOTOXY 109, 130
DEL 35, 86 Graphics 29, 110, 130
DELAY 103, 113, 128 Half Duplex 52
Delphi 52 Hangup 54, 110, 130
DESQview 8 High speed 31
DIAL 92, 103, 128 HOME 35
Dial Menu IF 110, 130
Clear 44 Imodem 75, 76, 79
Dialing 44 INCR 103, 111, 131
Loading a new Phone Book 50 INKEY 112, 131
Other Info 48 Invoice 54
PgDn 49 Kermit 80
PgUp 49 LABEL 131
Prefix 46 License iv
Revise 49 Linefeed 36, 86, 119, 133
DIALING DIRECTORY 42 List 24, 69
DIR 70 LOADFON 131
DISPLAY 104, 128 LOADKEY 112, 131
DISPLAYLN 104, 128 LOG 36, 56, 71, 88, 113, 117,
DOS 24, 67, 104, 105, 128 119
Dow Jones News/Retrieval 52 Logged Drive 60
DOWNLD 105, 128 Macro 91
DOWNLOAD 105, 128 Macros 55
DRIVE 105, 128 Main Menu 35, 87
DSZ 26 MasterCard v
DTR 19, 54, 72 MCI-Mail 52
Echo 36, 52, 119, 133 Memory 30
EGA 8, 31, 87, 106, 123 MNP 79
Elapsed-Time 36 Monochrome 8, 31
Emulation 35 Music 36, 58, 119, 133
ESC 11 Nochange 52
EXIST 106, 129 Noise 36, 41, 119, 133
Exit 71 NOTE 113, 131
External 75 Offline 35
External protocols 80, 84 ONLINE 35, 119, 133
F1 10 Parity 35
Fido 52 PAUSE 103, 113, 131
File Delete 73 PCBoard 52, 60, 97
FKey 55, 107, 129 PGDN 29, 80, 89
Flow control 36, 73 PGUP 29, 90
Full Duplex 52 POP 114, 131
Garbage characters 87 PORT 114, 131
Gateway 69 PRINT 119, 133
GEnie v, 16, 52, 86 Protocol 25
GET 97, 107, 129 Protocols 75, 76, 105
GETN 108, 129 Public Domain iv
GETNR 108, 129 PUSH 115, 131
PUTSCR 115, 132 TURNOFF 119, 133
Qinstall 10, 59 TURNON 119, 133
QINSTALL.COM 9 TVI925 53, 110
QINSTALL.HLP 9 Up Arrow 69, 87
QMODEM.000 9 UP-ARROW 25, 83
QMODEM.011 9 UPLD 120, 133
QMODEM.CNF 9, 10, 32, 33 Upload 75, 76, 120, 134
QMODEM.COM iv, 9 Variables 96
QMODEM.FON 9, 33 VISA v
QMODEM.HLP 9, 10, 24 VT100 53, 86, 110
QMODEM.KEY 9, 33 WAITFOR 92, 118, 134
QMODEM.PRE 9, 33 WAITUNTIL 121, 134
QMODEM.WND 9, 33 Warranty viii
Queue Edit 62 WHEN 122, 134
RBBS-PC 52 WINDOW 123, 134
Registration v Window Placement 12
Relaxed Xmodem 75, 76, 79 WordStar 24, 69, 92
Restart 38 WRITE 123, 135
RETURN 115, 132 WRITELN 123, 135
Script 9, 41, 62, 90, 116, 132 WXModem 80
Scripts 52, 91 Xmodem 75, 76, 78
Scroll Back 69, 83 Xmodem CRC 75, 76, 79
Scroll-back 36 Xon 36, 73
SEND 92, 116, 132 Xon/Xoff 73, 119, 133
Serial port 29 Ymodem 75, 76, 80
SETCOMM 92, 117, 132 Ymodem-G 75, 76, 80
Shareware 33 Zmodem 80
ShftTab 119 { 54, 68
SHIFT-TAB 29, 86 ~~~ 54
SideKick 8, 30, 67, 92, 104 ~~~+++~~~ATH 54
Site License vii
Source 16, 87
Split-Screen 54
STAMP 56, 89, 117
Status Line 35, 64, 87
Stop Bits 35
STRING 98, 118, 132
Strip/Replace 39
Subdirectories 60
SUBST 105
SuperKey 8
Sysops iv
SYSTEM 118, 133
System Clock 36
TaskView 8
Terminal 35, 53, 68, 110
TIMEOUT 118, 133
Toggles 35
TopView 8
Transfer 25
Translations 40
TTY 53, 68, 110